From 858cfba33f1bcbe2dc72033d056c8bfa460288f1 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Thu, 14 Oct 2021 18:17:17 -0400 Subject: [PATCH] ability to run just one test case, finally --- kiss/src/test/TestMain.hx | 22 +++++++++++++++++++++- test.sh | 6 +++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/kiss/src/test/TestMain.hx b/kiss/src/test/TestMain.hx index 14d23546..280f90be 100644 --- a/kiss/src/test/TestMain.hx +++ b/kiss/src/test/TestMain.hx @@ -2,12 +2,32 @@ package test; import utest.Runner; import utest.ui.Report; +#if macro +import haxe.macro.Context; +#end class TestMain { public static function main() { var runner = new Runner(); - runner.addCases(test.cases); + addCases(); Report.create(runner); runner.run(); } + + static macro function addCases() { + if (Context.defined("cases")) { + var cases = Context.definedValue("cases").split(","); + var block = []; + for (caseName in cases) { + var typePath = { + pack: ["test", "cases"], + name: caseName + }; + block.push(macro runner.addCase(new $typePath())); + } + return macro $b{block}; + } else { + return macro runner.addCases(test.cases); + } + } } diff --git a/test.sh b/test.sh index ec36d544..a303b761 100755 --- a/test.sh +++ b/test.sh @@ -18,5 +18,9 @@ then ./test-project.sh # Test Kiss with utest cases in kiss/src/test/cases else - haxe kiss/build-scripts/common-args.hxml kiss/build-scripts/common-test-args.hxml kiss/build-scripts/$KISS_TARGET/test.hxml + if [ ! -z "$2" ]; then + haxe -D cases=$2 kiss/build-scripts/common-args.hxml kiss/build-scripts/common-test-args.hxml kiss/build-scripts/$KISS_TARGET/test.hxml + else + haxe kiss/build-scripts/common-args.hxml kiss/build-scripts/common-test-args.hxml kiss/build-scripts/$KISS_TARGET/test.hxml + fi fi