diff --git a/tools/generation/generator.py b/tools/generation/generator.py
index 754f00fcf5cd8c0dd40977d976f3ae425bf4004f..80bc4540939fca98b8b39eeafd3ad17d14369cfc 100755
--- a/tools/generation/generator.py
+++ b/tools/generation/generator.py
@@ -12,15 +12,21 @@ from lib.test import Test
 def print_error(*values):
     print('ERROR:', *values, file=sys.stderr)
 
+# When a directory contains at least one file with a `.case` extension, it
+# should be interpreted as a "case directory"
+def is_case_dir(location):
+    for file_name in os.listdir(location):
+        if file_name.lower().endswith('.case'):
+            return True
+    return False
+
 def find_cases(location):
     # When a file is specified, return the file name and its containing
     # directory
     if os.path.isfile(location):
         return location, [os.path.dirname(location)]
 
-    # When a directory is specified, if that directory contains a sub-directory
-    # names "default" interpret it as a "case directory"
-    if (os.path.isdir(os.path.join(location, 'default'))):
+    if is_case_dir(location):
         return None, [location]
     else:
         return None, map(