HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
silentbicycle
greatest
C2012–2017
silentbicycle / greatest

greatest

A C testing library in 1 file. No dependencies, no dynamic allocation. ISC licensed.

6Distinct people
8Mentions
0Explicit recommenders
1.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A C testing library in 1 file. No dependencies, no dynamic allocation. ISC licensed.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year8 dated mentions

Observed mentions: 2012-03-17 23:57:40 UTC to 2017-08-29 15:01:42 UTC.

0122012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC202
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC211
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC211
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101

What Hacker News says

8 sources
A while ago I was looking for a minimal unit testing framework for C. I evaluated these two alternatives: https://github.com/mity/cutest https://github.com/silentbicycle/greatest They're about 1/5th the size of the Cheat framework. I ended up using "greatest" because it doesn't do any dynamic allocations (intended for embedded) and I found that an interesting feature (I also do embedded stuff every now and then). The way Cheat works is rather peculiar: > Imagine a source file including a header file. Then imagine the header file including the source file that included it. Now imagine doing that three times in a row within the same header file. ... I would like to know the reasoning behind this. It sure seems clever but what is the advantage that this provides? In the end, I wound up writing my own special purpose testing framework because
Read the rest
of the nature of the job at hand. I am writing numerical/scientific code and the problem suffers from a very well understood and documented loss of numerical precision (it is about computing the motion of satellites and planets using Kepler's laws - and the numerical inaccuracy happens near escape velocity). My testing is perhaps closer to stress testing than unit testing. Here's my test framework (it's only about 300 LOC): https://github.com/rikusalminen/libkepler/blob/master/test/n... https://github.com/rikusalminen/libkepler/blob/master/test/n... Here's a few example test cases: https://github.com/rikusalminen/libkepler/blob/master/test/k... The method is 1) create a pseudo random initial setting 2) perform a calculation in two different ways and verify that they match 3) analyze the results and verify that laws of physics apply 4) repeat (about 8 million times by default). My tests use about 15 minutes of CPU time currently, which gives me reasonable confidence that everything works as intended.
In Cheat: A minimal unit testing framework for the C programming language

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.