save-state-1

This commit is contained in:
2023-04-12 16:05:22 -07:00
parent ff65bd12a5
commit 247b8c760a
23 changed files with 1480 additions and 150 deletions

View File

@@ -128,15 +128,17 @@ $(TEST_MAIN_CPP): $(TEST_OBJECTS)
@echo "#include <iostream>" >> $(TEST_MAIN_CPP)
@echo "#include <tuple>" >> $(TEST_MAIN_CPP)
@echo "using namespace Test;" >> $(TEST_MAIN_CPP)
@echo "using std::wcout;\nusing std::endl;\nusing std::tuple;\nusing std::get;" >> $(TEST_MAIN_CPP)
@echo "$(patsubst %, extern test_method_result main_test_%(int argc, char** argv);\n, $(MODULES))" >> $(TEST_MAIN_CPP)
@echo "int main(int argc, char** argv) {\n setlocale(LC_ALL, \"\");\n test_method_result results;\n" >> $(TEST_MAIN_CPP)
@echo "$(patsubst %, results = results + main_test_%(argc, argv);\n, $(MODULES))" >> $(TEST_MAIN_CPP)
@echo " wcout << \"Total tests ran: \" << get<0>(results) << endl;\n" >> $(TEST_MAIN_CPP)
@echo " wcout << \"Total failures: \" << get<1>(results) << endl;\n" >> $(TEST_MAIN_CPP)
@echo "using std::cout;\nusing std::endl;\nusing std::tuple;\nusing std::get;" >> $(TEST_MAIN_CPP)
@echo "$(patsubst %, extern TestResults main_test_%(int argc, char** argv);\n, $(MODULES))" >> $(TEST_MAIN_CPP)
@echo "int main(int argc, char** argv) {\n setlocale(LC_ALL, \"\");\n TestResults results;\n" >> $(TEST_MAIN_CPP)
@echo "$(patsubst %, results += main_test_%(argc, argv);\n, $(MODULES))" >> $(TEST_MAIN_CPP)
@echo " cout << \"Total tests: \" << results.total() << endl;" >> $(TEST_MAIN_CPP)
@echo " cout << \"Passed: \" << results.passed() << endl;" >> $(TEST_MAIN_CPP)
@echo " cout << \"Failed: \" << results.failed() << endl;" >> $(TEST_MAIN_CPP)
@echo " cout << \"Skipped: \" << results.skipped() << endl;" >> $(TEST_MAIN_CPP)
@echo "\n return 0;\n}" >> $(TEST_MAIN_CPP)
# We make our own fat libs cause homebrew sucks
# We make our own fat libs cause homebrew sucks. # We may have to do something similar for macports, but that's not supported yet.
$(LIB_DIR)/lib%.a: $(BREW_PREFIX)/opt/$$*/lib/lib$$*.a $(BREW86_PREFIX)/opt/$$*/lib/lib$$*.a $(MANDATORY_TARGETS)
lipo -create -output $@ $(word 1, $^) $(word 2, $^)
@@ -158,12 +160,12 @@ $(TEST_HARNESS_CPP): $(MANDATORY_TARGETS)
@echo "#include <iostream>" >> $(TEST_HARNESS_CPP)
@echo "#include <tuple>" >> $(TEST_HARNESS_CPP)
@echo "using namespace Test;" >> $(TEST_HARNESS_CPP)
@echo "using std::wcout;\nusing std::endl;\nusing std::tuple;\nusing std::get;" >> $(TEST_HARNESS_CPP)
@echo "extern test_method_result main_test_$(MODULE)(int argc, char** argv);" >> $(TEST_HARNESS_CPP)
@echo "int main(int argc, char** argv) {\n setlocale(LC_ALL, \"\");\n test_method_result results;\n" >> $(TEST_HARNESS_CPP)
@echo "using std::cout;\nusing std::endl;\nusing std::tuple;\nusing std::get;" >> $(TEST_HARNESS_CPP)
@echo "extern TestResults main_test_$(MODULE)(int argc, char** argv);" >> $(TEST_HARNESS_CPP)
@echo "int main(int argc, char** argv) {\n setlocale(LC_ALL, \"\");\n TestResults results;\n" >> $(TEST_HARNESS_CPP)
@echo " results = results + main_test_$(MODULE)(argc, argv);\n" >> $(TEST_HARNESS_CPP)
@echo " wcout << \"Total tests ran: \" << get<0>(results) << endl;" >> $(TEST_HARNESS_CPP)
@echo " wcout << \"Total failures: \" << get<1>(results) << endl;" >> $(TEST_HARNESS_CPP)
@echo " cout << \"Total tests ran: \" << get<0>(results) << endl;" >> $(TEST_HARNESS_CPP)
@echo " cout << \"Total failures: \" << get<1>(results) << endl;" >> $(TEST_HARNESS_CPP)
@echo "\n return 0;\n}" >> $(TEST_HARNESS_CPP)
$(TEST_HARNESS_OBJ): $(TEST_HARNESS_CPP) $(SRC_DIR)/*.h $(TEST_CPP) $(MANDATORY_TARGETS)