diff --git a/.gitignore b/.gitignore index 85f38a8..86a6f61 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build stats *.swp *.png +*krakout* diff --git a/include/util.h b/include/util.h index 2a5c70d..20df609 100644 --- a/include/util.h +++ b/include/util.h @@ -20,6 +20,7 @@ int findPerenEnd(std::string str, int i); std::vector split(const std::string &str, char delim); std::string join(const std::vector &strVec, std::string joinStr); std::string readFile(std::istream &file); +std::string padWithSpaces(std::string str, int padTo); template diff --git a/main.cpp b/main.cpp index f33e2ed..a534762 100644 --- a/main.cpp +++ b/main.cpp @@ -40,12 +40,18 @@ int main(int argc, char* argv[]) { std::string testResults, line; int passed = 0, failed = 0; Tester test(argv[0], "../krakenGrammer.kgm"); + // find the max length so we can pad the string and align the results + unsigned int maxLineLength = 0; + for (int i = 2; i < argc; i++) { + int strLen = std::string(argv[i]).length(); + maxLineLength = maxLineLength < strLen ? strLen : maxLineLength; + } for (int i = 2; i < argc; i++) { bool result = test.run(argv[i]); if (result) - line = std::string(argv[i]) + "\t\tpassed!\n", passed++; + line = padWithSpaces(std::string(argv[i]), maxLineLength) + "\t\tpassed!\n", passed++; else - line = std::string(argv[i]) + "\t\tFAILED!\n", failed++; + line = padWithSpaces(std::string(argv[i]), maxLineLength) + "\t\tFAILED!!!!\n", failed++; std::cout << line << std::endl; testResults += line; } diff --git a/src/Tester.cpp b/src/Tester.cpp index 99642fc..d2a2c9e 100644 --- a/src/Tester.cpp +++ b/src/Tester.cpp @@ -61,8 +61,5 @@ bool Tester::compareFiles(std::string file1Path, std::string file2Path) { std::string file1contents = readFile(file1); std::string file2contents = readFile(file2); - // std::cout << "file1: " << file1contents << std::endl; - // std::cout << "file2: " << file2contents << std::endl; - // std::cout << "comp: " << file1contents.compare(file2contents) << std::endl; return file1contents.compare(file2contents) == 0; } diff --git a/src/util.cpp b/src/util.cpp index 296807e..2679f8f 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -80,4 +80,9 @@ std::string readFile(std::istream &file) { return contents; } +std::string padWithSpaces(std::string str, int padTo) { + while(str.length() < padTo) + str += " "; + return str; +} diff --git a/tests/runTests.sh b/tests/runTests.sh index 26182d2..474079f 100755 --- a/tests/runTests.sh +++ b/tests/runTests.sh @@ -6,7 +6,7 @@ testDir="." ext=${2:-"krak"} fileList="" -for dir in `find ${testDir} -type f -name "*.${ext}"`; do +for dir in `find ${testDir} -type f -name "test_*.${ext}"`; do filename=$(basename ${dir}) filename="${filename%.*}" fileList+=\ $testDir\/$filename diff --git a/tests/OperatorOverloadTest.expected_results b/tests/test_OperatorOverloadTest.expected_results similarity index 100% rename from tests/OperatorOverloadTest.expected_results rename to tests/test_OperatorOverloadTest.expected_results diff --git a/tests/OperatorOverloadTest.krak b/tests/test_OperatorOverloadTest.krak similarity index 100% rename from tests/OperatorOverloadTest.krak rename to tests/test_OperatorOverloadTest.krak diff --git a/tests/RecursiveTest.expected_results b/tests/test_RecursiveTest.expected_results similarity index 100% rename from tests/RecursiveTest.expected_results rename to tests/test_RecursiveTest.expected_results diff --git a/tests/RecursiveTest.krak b/tests/test_RecursiveTest.krak similarity index 100% rename from tests/RecursiveTest.krak rename to tests/test_RecursiveTest.krak diff --git a/tests/commentFirstTest.expected_results b/tests/test_commentFirstTest.expected_results similarity index 100% rename from tests/commentFirstTest.expected_results rename to tests/test_commentFirstTest.expected_results diff --git a/tests/commentFirstTest.krak b/tests/test_commentFirstTest.krak similarity index 100% rename from tests/commentFirstTest.krak rename to tests/test_commentFirstTest.krak diff --git a/tests/declarationsTest.expected_results b/tests/test_declarationsTest.expected_results similarity index 100% rename from tests/declarationsTest.expected_results rename to tests/test_declarationsTest.expected_results diff --git a/tests/declarationsTest.krak b/tests/test_declarationsTest.krak similarity index 100% rename from tests/declarationsTest.krak rename to tests/test_declarationsTest.krak diff --git a/tests/destructorTest.expected_results b/tests/test_destructorTest.expected_results similarity index 100% rename from tests/destructorTest.expected_results rename to tests/test_destructorTest.expected_results diff --git a/tests/destructorTest.krak b/tests/test_destructorTest.krak similarity index 100% rename from tests/destructorTest.krak rename to tests/test_destructorTest.krak diff --git a/tests/emptyBracesFunction.expected_results b/tests/test_emptyBracesFunction.expected_results similarity index 100% rename from tests/emptyBracesFunction.expected_results rename to tests/test_emptyBracesFunction.expected_results diff --git a/tests/emptyBracesFunction.krak b/tests/test_emptyBracesFunction.krak similarity index 100% rename from tests/emptyBracesFunction.krak rename to tests/test_emptyBracesFunction.krak diff --git a/tests/functionMultipleTemplateTest.expected_results b/tests/test_functionMultipleTemplateTest.expected_results similarity index 100% rename from tests/functionMultipleTemplateTest.expected_results rename to tests/test_functionMultipleTemplateTest.expected_results diff --git a/tests/functionMultipleTemplateTest.krak b/tests/test_functionMultipleTemplateTest.krak similarity index 100% rename from tests/functionMultipleTemplateTest.krak rename to tests/test_functionMultipleTemplateTest.krak diff --git a/tests/functionOrderingTest.expected_results b/tests/test_functionOrderingTest.expected_results similarity index 100% rename from tests/functionOrderingTest.expected_results rename to tests/test_functionOrderingTest.expected_results diff --git a/tests/functionOrderingTest.krak b/tests/test_functionOrderingTest.krak similarity index 100% rename from tests/functionOrderingTest.krak rename to tests/test_functionOrderingTest.krak diff --git a/tests/functionTemplateTest.expected_results b/tests/test_functionTemplateTest.expected_results similarity index 100% rename from tests/functionTemplateTest.expected_results rename to tests/test_functionTemplateTest.expected_results diff --git a/tests/functionTemplateTest.krak b/tests/test_functionTemplateTest.krak similarity index 100% rename from tests/functionTemplateTest.krak rename to tests/test_functionTemplateTest.krak diff --git a/tests/memTest.expected_results b/tests/test_memTest.expected_results similarity index 100% rename from tests/memTest.expected_results rename to tests/test_memTest.expected_results diff --git a/tests/memTest.krak b/tests/test_memTest.krak similarity index 100% rename from tests/memTest.krak rename to tests/test_memTest.krak diff --git a/tests/moreComplexObjectTest.expected_results b/tests/test_moreComplexObjectTest.expected_results similarity index 100% rename from tests/moreComplexObjectTest.expected_results rename to tests/test_moreComplexObjectTest.expected_results diff --git a/tests/moreComplexObjectTest.krak b/tests/test_moreComplexObjectTest.krak similarity index 100% rename from tests/moreComplexObjectTest.krak rename to tests/test_moreComplexObjectTest.krak diff --git a/tests/moreObjectTemplateTest.expected_results b/tests/test_moreObjectTemplateTest.expected_results similarity index 100% rename from tests/moreObjectTemplateTest.expected_results rename to tests/test_moreObjectTemplateTest.expected_results diff --git a/tests/moreObjectTemplateTest.krak b/tests/test_moreObjectTemplateTest.krak similarity index 100% rename from tests/moreObjectTemplateTest.krak rename to tests/test_moreObjectTemplateTest.krak diff --git a/tests/newScoping.expected_results b/tests/test_newScoping.expected_results similarity index 100% rename from tests/newScoping.expected_results rename to tests/test_newScoping.expected_results diff --git a/tests/newScoping.krak b/tests/test_newScoping.krak similarity index 100% rename from tests/newScoping.krak rename to tests/test_newScoping.krak diff --git a/tests/objectOrderingTest.expected_results b/tests/test_objectOrderingTest.expected_results similarity index 100% rename from tests/objectOrderingTest.expected_results rename to tests/test_objectOrderingTest.expected_results diff --git a/tests/objectOrderingTest.krak b/tests/test_objectOrderingTest.krak similarity index 100% rename from tests/objectOrderingTest.krak rename to tests/test_objectOrderingTest.krak diff --git a/tests/simpleFunctionTest.expected_results b/tests/test_simpleFunctionTest.expected_results similarity index 100% rename from tests/simpleFunctionTest.expected_results rename to tests/test_simpleFunctionTest.expected_results diff --git a/tests/simpleFunctionTest.krak b/tests/test_simpleFunctionTest.krak similarity index 100% rename from tests/simpleFunctionTest.krak rename to tests/test_simpleFunctionTest.krak diff --git a/tests/simpleObjectMultipleTemplateTest.expected_results b/tests/test_simpleObjectMultipleTemplateTest.expected_results similarity index 100% rename from tests/simpleObjectMultipleTemplateTest.expected_results rename to tests/test_simpleObjectMultipleTemplateTest.expected_results diff --git a/tests/simpleObjectMultipleTemplateTest.krak b/tests/test_simpleObjectMultipleTemplateTest.krak similarity index 100% rename from tests/simpleObjectMultipleTemplateTest.krak rename to tests/test_simpleObjectMultipleTemplateTest.krak diff --git a/tests/simpleObjectTemplateTest.expected_results b/tests/test_simpleObjectTemplateTest.expected_results similarity index 100% rename from tests/simpleObjectTemplateTest.expected_results rename to tests/test_simpleObjectTemplateTest.expected_results diff --git a/tests/simpleObjectTemplateTest.krak b/tests/test_simpleObjectTemplateTest.krak similarity index 100% rename from tests/simpleObjectTemplateTest.krak rename to tests/test_simpleObjectTemplateTest.krak diff --git a/tests/simpleObjectTest.expected_results b/tests/test_simpleObjectTest.expected_results similarity index 100% rename from tests/simpleObjectTest.expected_results rename to tests/test_simpleObjectTest.expected_results diff --git a/tests/simpleObjectTest.krak b/tests/test_simpleObjectTest.krak similarity index 100% rename from tests/simpleObjectTest.krak rename to tests/test_simpleObjectTest.krak diff --git a/tests/templateTest.expected_results b/tests/test_templateTest.expected_results similarity index 100% rename from tests/templateTest.expected_results rename to tests/test_templateTest.expected_results diff --git a/tests/templateTest.krak b/tests/test_templateTest.krak similarity index 100% rename from tests/templateTest.krak rename to tests/test_templateTest.krak diff --git a/tests/testArrayNotation.expected_results b/tests/test_testArrayNotation.expected_results similarity index 100% rename from tests/testArrayNotation.expected_results rename to tests/test_testArrayNotation.expected_results diff --git a/tests/testArrayNotation.krak b/tests/test_testArrayNotation.krak similarity index 100% rename from tests/testArrayNotation.krak rename to tests/test_testArrayNotation.krak diff --git a/tests/topLevelVarInit.expected_results b/tests/test_topLevelVarInit.expected_results similarity index 100% rename from tests/topLevelVarInit.expected_results rename to tests/test_topLevelVarInit.expected_results diff --git a/tests/topLevelVarInit.krak b/tests/test_topLevelVarInit.krak similarity index 100% rename from tests/topLevelVarInit.krak rename to tests/test_topLevelVarInit.krak diff --git a/tests/traitsTest.expected_results b/tests/test_traitsTest.expected_results similarity index 100% rename from tests/traitsTest.expected_results rename to tests/test_traitsTest.expected_results diff --git a/tests/traitsTest.krak b/tests/test_traitsTest.krak similarity index 100% rename from tests/traitsTest.krak rename to tests/test_traitsTest.krak diff --git a/tests/typeExpr.expected_results b/tests/test_typeExpr.expected_results similarity index 100% rename from tests/typeExpr.expected_results rename to tests/test_typeExpr.expected_results diff --git a/tests/typeExpr.krak b/tests/test_typeExpr.krak similarity index 100% rename from tests/typeExpr.krak rename to tests/test_typeExpr.krak diff --git a/tests/vectorTest.expected_results b/tests/test_vectorTest.expected_results similarity index 100% rename from tests/vectorTest.expected_results rename to tests/test_vectorTest.expected_results diff --git a/tests/vectorTest.krak b/tests/test_vectorTest.krak similarity index 100% rename from tests/vectorTest.krak rename to tests/test_vectorTest.krak