Web assembly #6
1 changed files with 0 additions and 54 deletions
|
|
@ -8,16 +8,10 @@ import core.sys.posix.setjmp;
|
||||||
import ecs.vector;
|
import ecs.vector;
|
||||||
import ecs.std;
|
import ecs.std;
|
||||||
|
|
||||||
unittest
|
|
||||||
{
|
|
||||||
assert(0, "AAAAAAAA");
|
|
||||||
}
|
|
||||||
|
|
||||||
enum int ASSERTED = 123;
|
enum int ASSERTED = 123;
|
||||||
enum string OUT_FILE = "test_report.xml";
|
enum string OUT_FILE = "test_report.xml";
|
||||||
|
|
||||||
static jmp_buf gEnvBuffer;
|
static jmp_buf gEnvBuffer;
|
||||||
//__gshared TestSuite[4] gSuites;
|
|
||||||
static AssertInfo gAssertInfo;
|
static AssertInfo gAssertInfo;
|
||||||
|
|
||||||
struct AssertInfo
|
struct AssertInfo
|
||||||
|
|
@ -147,54 +141,6 @@ string copyString(const char* str)
|
||||||
return cast(string) Mallocator.makeArray(arr);
|
return cast(string) Mallocator.makeArray(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void runTestSuite(alias testModule)(ref TestSuite suite)
|
|
||||||
{
|
|
||||||
suite.name = testModule.stringof;
|
|
||||||
foreach (index, testDelegate; __traits(getUnitTests, testModule))
|
|
||||||
{
|
|
||||||
suite.tests[index].executed = true;
|
|
||||||
writeTests(gSuites); // Save executed info
|
|
||||||
|
|
||||||
// Save calling environment for longjmp
|
|
||||||
int jmpRet = setjmp(gEnvBuffer);
|
|
||||||
|
|
||||||
if (jmpRet == ASSERTED)
|
|
||||||
{
|
|
||||||
suite.tests[index].passed = false;
|
|
||||||
suite.tests[index].file = copyString(gAssertInfo.file);
|
|
||||||
suite.tests[index].fileLine = gAssertInfo.line;
|
|
||||||
suite.tests[index].msg = copyString(gAssertInfo.msg);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
testDelegate();
|
|
||||||
suite.tests[index].passed = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void addTestSuite(alias testModule)(ref TestSuite suite)
|
|
||||||
{
|
|
||||||
suite.name = testModule.stringof;
|
|
||||||
foreach (index, testDelegate; __traits(getUnitTests, testModule))
|
|
||||||
{
|
|
||||||
enum attributes = __traits(getAttributes, testDelegate);
|
|
||||||
static if (attributes.length == 0)
|
|
||||||
{
|
|
||||||
enum string testName = "No name";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
enum string testName = attributes[0];
|
|
||||||
|
|
||||||
}
|
|
||||||
Test test;
|
|
||||||
test.name = testName;
|
|
||||||
|
|
||||||
suite.tests ~= test;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
struct TestRunner(Args...)
|
struct TestRunner(Args...)
|
||||||
{
|
{
|
||||||
TestSuite[Args.length] suites;
|
TestSuite[Args.length] suites;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue