diff options
Diffstat (limited to 'cpp/literate/001test')
-rw-r--r-- | cpp/literate/001test | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/cpp/literate/001test b/cpp/literate/001test deleted file mode 100644 index 45ec591d..00000000 --- a/cpp/literate/001test +++ /dev/null @@ -1,79 +0,0 @@ -// A simple test harness. To create new tests define functions starting with -// 'test_'. To run all tests so defined, run: -// $ wart test -// -// So far it seems tasteful for layers to never ever reach back to modify -// previously-defined tests. Every test is a contract once written, and should -// pass as-is if it is included, regardless of how much later layers change -// the program. Avoid writing 'temporary' tests that only work with some -// subsets of the program. - -:(before "End Types") -typedef void (*test_fn)(void); - -:(before "End Globals") -const test_fn Tests[] = { - #include "test_list" // auto-generated; see makefile -}; - -bool Passed = true; - -long Num_failures = 0; - -#define CHECK(X) \ - if (!(X)) { \ - ++Num_failures; \ - cerr << "\nF " << __FUNCTION__ << "(" << __FILE__ << ":" << __LINE__ << "): " << #X << '\n'; \ - Passed = false; \ - return; \ - } - -#define CHECK_EQ(X, Y) \ - if ((X) != (Y)) { \ - ++Num_failures; \ - cerr << "\nF " << __FUNCTION__ << "(" << __FILE__ << ":" << __LINE__ << "): " << #X << " == " << #Y << '\n'; \ - cerr << " got " << (X) << '\n'; /* BEWARE: multiple eval */ \ - Passed = false; \ - return; \ - } - -:(after "Commandline Options") - if (is_equal(argv[1], "test")) { - run_tests(); - return 0; - } - -:(code) -void run_tests() { - time_t t; time(&t); - cerr << "C tests: " << ctime(&t); - for (unsigned long i=0; i < sizeof(Tests)/sizeof(Tests[0]); ++i) { - setup(); - // End Test Setup - (*Tests[i])(); - if (Passed) cerr << "."; - // Test Teardown - // End Test Teardown - } - - cerr << '\n'; - if (Num_failures > 0) - cerr << Num_failures << " failure" - << (Num_failures > 1 ? "s" : "") - << '\n'; -} - -bool is_equal(char* s, const char* lit) { - return strncmp(s, lit, strlen(lit)) == 0; -} - -:(before "End Includes") -#include<iostream> -using std::istream; -using std::ostream; -using std::iostream; -using std::cin; -using std::cout; -using std::cerr; - -#include<cstring> |