similar to what you want to do.
Another thing this enables is having different variants for the same test
-case. By default, we run every test for all 3 debug info formats, so once with
-DWARF from the object files, once with gmodules and finally with a dSYM on
-macOS or split DWARF (DWO) on Linux. But there are many more things we can test
+case. By default, we run every test for two debug info formats, once with
+DWARF from the object files and another with a dSYM on macOS or split
+DWARF (DWO) on Linux. But there are many more things we can test
that are orthogonal to the test itself. On GreenDragon we have a matrix bot
that runs the test suite under different configurations, with older host
compilers and different DWARF versions.
# If any debug info categories were explicitly tagged, assume that list to be
# authoritative. If none were specified, try with all debug
# info formats.
- all_dbginfo_categories = set(test_categories.debug_info_categories)
+ all_dbginfo_categories = set(test_categories.debug_info_categories.keys())
categories = set(
getattr(
attrvalue,
"categories",
[])) & all_dbginfo_categories
if not categories:
- categories = all_dbginfo_categories
+ categories = [category for category, can_replicate \
+ in test_categories.debug_info_categories.items() \
+ if can_replicate]
for cat in categories:
@decorators.add_test_categories([cat])
# LLDB modules
from lldbsuite.support import gmodules
-
-debug_info_categories = [
- 'dwarf', 'dwo', 'dsym', 'gmodules'
-]
+# Key: Category name
+# Value: should be used in lldbtest's debug-info replication
+debug_info_categories = {
+ 'dwarf' : True,
+ 'dwo' : True,
+ 'dsym' : True,
+ 'gmodules' : False
+}
all_categories = {
'basic_process': 'Basic process execution sniff tests.',