diff --git a/silly.d b/silly.d
index 0b37fe9..bda3c0a 100644
@@ -34,7 +34,9 @@ shared static this() {
auto args = Runtime.args;
auto getoptResult = args.getopt(
+ "module", "test a single module", &targetmodule,
@@ -76,7 +78,7 @@ shared static this() {
foreach(m; dub_test_root.allModules) {
- import std.traits : fullyQualifiedName;
+ import std.traits : fullyQualifiedName, moduleName;
static if(__traits(isModule, m)) {
@@ -84,6 +86,9 @@ shared static this() {
alias module_ = Alias!(__traits(parent, m));
+ if (targetmodule && moduleName!module_ != targetmodule)
foreach(test; __traits(getUnitTests, module_)) {
tests ~= Test(fullyQualifiedName!test, getTestName!test, getTestLocation!test, &test);