blob: 0d59882065a542da0a833990ea187670c8cdb1f5 [file] [log] [blame]
// REQUIRED_ARGS: -unittest
// COMPILE_SEPARATELY:
// EXTRA_SOURCES: imports/module_with_tests.d imports/another_module_with_tests.d
import imports.module_with_tests;
import imports.another_module_with_tests;
import core.exception: AssertError;
shared static this()
{
import core.runtime: Runtime, UnitTestResult;
Runtime.extendedModuleUnitTester = () => UnitTestResult.pass;
}
void main()
{
foreach(i, ut; __traits(getUnitTests, imports.module_with_tests))
{
try
{
ut();
assert(i == 0, "2nd unittest should fail");
}
catch(AssertError e)
{
assert(i == 1, "Only 2nd unittest should fail");
}
}
foreach(i, ut; __traits(getUnitTests, imports.another_module_with_tests))
{
try
{
ut();
assert(i == 0 || i == 1, "3rd unittest should fail");
}
catch(AssertError e)
{
assert(i == 2, "Only 3rd unittest should fail");
}
}
}