Allowed empty suites in test.py/bench.py
This happens when you need to comment out an entire suite due to temporary changes.
This commit is contained in:
+22
-21
@@ -171,7 +171,7 @@ class BenchSuite:
|
|||||||
# sort in case toml parsing did not retain order
|
# sort in case toml parsing did not retain order
|
||||||
case_linenos.sort()
|
case_linenos.sort()
|
||||||
|
|
||||||
cases = config.pop('cases')
|
cases = config.pop('cases', {})
|
||||||
for (lineno, name), (nlineno, _) in it.zip_longest(
|
for (lineno, name), (nlineno, _) in it.zip_longest(
|
||||||
case_linenos, case_linenos[1:],
|
case_linenos, case_linenos[1:],
|
||||||
fillvalue=(float('inf'), None)):
|
fillvalue=(float('inf'), None)):
|
||||||
@@ -209,7 +209,7 @@ class BenchSuite:
|
|||||||
args=args))
|
args=args))
|
||||||
|
|
||||||
# combine per-case defines
|
# combine per-case defines
|
||||||
self.defines = set.union(*(
|
self.defines = set.union(set(), *(
|
||||||
set(case.defines) for case in self.cases))
|
set(case.defines) for case in self.cases))
|
||||||
|
|
||||||
for k in config.keys():
|
for k in config.keys():
|
||||||
@@ -425,26 +425,27 @@ def compile(bench_paths, **args):
|
|||||||
f.writeln(4*' '+'},')
|
f.writeln(4*' '+'},')
|
||||||
f.writeln(4*' '+'.define_count = '
|
f.writeln(4*' '+'.define_count = '
|
||||||
'BENCH_IMPLICIT_DEFINE_COUNT+%d,' % len(suite.defines))
|
'BENCH_IMPLICIT_DEFINE_COUNT+%d,' % len(suite.defines))
|
||||||
f.writeln(4*' '+'.cases = (const struct bench_case[]){')
|
if suite.cases:
|
||||||
for case in suite.cases:
|
f.writeln(4*' '+'.cases = (const struct bench_case[]){')
|
||||||
# create case structs
|
for case in suite.cases:
|
||||||
f.writeln(8*' '+'{')
|
# create case structs
|
||||||
f.writeln(12*' '+'.name = "%s",' % case.name)
|
f.writeln(8*' '+'{')
|
||||||
f.writeln(12*' '+'.path = "%s",' % case.path)
|
f.writeln(12*' '+'.name = "%s",' % case.name)
|
||||||
f.writeln(12*' '+'.flags = 0,')
|
f.writeln(12*' '+'.path = "%s",' % case.path)
|
||||||
f.writeln(12*' '+'.permutations = %d,'
|
f.writeln(12*' '+'.flags = 0,')
|
||||||
% len(case.permutations))
|
f.writeln(12*' '+'.permutations = %d,'
|
||||||
if case.defines:
|
% len(case.permutations))
|
||||||
f.writeln(12*' '+'.defines '
|
if case.defines:
|
||||||
'= (const bench_define_t*)__bench__%s__defines,'
|
f.writeln(12*' '+'.defines '
|
||||||
|
'= (const bench_define_t*)__bench__%s__defines,'
|
||||||
|
% (case.name))
|
||||||
|
if suite.if_ is not None or case.if_ is not None:
|
||||||
|
f.writeln(12*' '+'.filter = __bench__%s__filter,'
|
||||||
|
% (case.name))
|
||||||
|
f.writeln(12*' '+'.run = __bench__%s__run,'
|
||||||
% (case.name))
|
% (case.name))
|
||||||
if suite.if_ is not None or case.if_ is not None:
|
f.writeln(8*' '+'},')
|
||||||
f.writeln(12*' '+'.filter = __bench__%s__filter,'
|
f.writeln(4*' '+'},')
|
||||||
% (case.name))
|
|
||||||
f.writeln(12*' '+'.run = __bench__%s__run,'
|
|
||||||
% (case.name))
|
|
||||||
f.writeln(8*' '+'},')
|
|
||||||
f.writeln(4*' '+'},')
|
|
||||||
f.writeln(4*' '+'.case_count = %d,' % len(suite.cases))
|
f.writeln(4*' '+'.case_count = %d,' % len(suite.cases))
|
||||||
f.writeln('};')
|
f.writeln('};')
|
||||||
f.writeln()
|
f.writeln()
|
||||||
|
|||||||
+25
-24
@@ -174,7 +174,7 @@ class TestSuite:
|
|||||||
# sort in case toml parsing did not retain order
|
# sort in case toml parsing did not retain order
|
||||||
case_linenos.sort()
|
case_linenos.sort()
|
||||||
|
|
||||||
cases = config.pop('cases')
|
cases = config.pop('cases', {})
|
||||||
for (lineno, name), (nlineno, _) in it.zip_longest(
|
for (lineno, name), (nlineno, _) in it.zip_longest(
|
||||||
case_linenos, case_linenos[1:],
|
case_linenos, case_linenos[1:],
|
||||||
fillvalue=(float('inf'), None)):
|
fillvalue=(float('inf'), None)):
|
||||||
@@ -214,7 +214,7 @@ class TestSuite:
|
|||||||
args=args))
|
args=args))
|
||||||
|
|
||||||
# combine per-case defines
|
# combine per-case defines
|
||||||
self.defines = set.union(*(
|
self.defines = set.union(set(), *(
|
||||||
set(case.defines) for case in self.cases))
|
set(case.defines) for case in self.cases))
|
||||||
|
|
||||||
# combine other per-case things
|
# combine other per-case things
|
||||||
@@ -436,29 +436,30 @@ def compile(test_paths, **args):
|
|||||||
f.writeln(4*' '+'},')
|
f.writeln(4*' '+'},')
|
||||||
f.writeln(4*' '+'.define_count = '
|
f.writeln(4*' '+'.define_count = '
|
||||||
'TEST_IMPLICIT_DEFINE_COUNT+%d,' % len(suite.defines))
|
'TEST_IMPLICIT_DEFINE_COUNT+%d,' % len(suite.defines))
|
||||||
f.writeln(4*' '+'.cases = (const struct test_case[]){')
|
if suite.cases:
|
||||||
for case in suite.cases:
|
f.writeln(4*' '+'.cases = (const struct test_case[]){')
|
||||||
# create case structs
|
for case in suite.cases:
|
||||||
f.writeln(8*' '+'{')
|
# create case structs
|
||||||
f.writeln(12*' '+'.name = "%s",' % case.name)
|
f.writeln(8*' '+'{')
|
||||||
f.writeln(12*' '+'.path = "%s",' % case.path)
|
f.writeln(12*' '+'.name = "%s",' % case.name)
|
||||||
f.writeln(12*' '+'.flags = %s,'
|
f.writeln(12*' '+'.path = "%s",' % case.path)
|
||||||
% (' | '.join(filter(None, [
|
f.writeln(12*' '+'.flags = %s,'
|
||||||
'TEST_REENTRANT' if case.reentrant else None]))
|
% (' | '.join(filter(None, [
|
||||||
or 0))
|
'TEST_REENTRANT' if case.reentrant else None]))
|
||||||
f.writeln(12*' '+'.permutations = %d,'
|
or 0))
|
||||||
% len(case.permutations))
|
f.writeln(12*' '+'.permutations = %d,'
|
||||||
if case.defines:
|
% len(case.permutations))
|
||||||
f.writeln(12*' '+'.defines '
|
if case.defines:
|
||||||
'= (const test_define_t*)__test__%s__defines,'
|
f.writeln(12*' '+'.defines '
|
||||||
|
'= (const test_define_t*)__test__%s__defines,'
|
||||||
|
% (case.name))
|
||||||
|
if suite.if_ is not None or case.if_ is not None:
|
||||||
|
f.writeln(12*' '+'.filter = __test__%s__filter,'
|
||||||
|
% (case.name))
|
||||||
|
f.writeln(12*' '+'.run = __test__%s__run,'
|
||||||
% (case.name))
|
% (case.name))
|
||||||
if suite.if_ is not None or case.if_ is not None:
|
f.writeln(8*' '+'},')
|
||||||
f.writeln(12*' '+'.filter = __test__%s__filter,'
|
f.writeln(4*' '+'},')
|
||||||
% (case.name))
|
|
||||||
f.writeln(12*' '+'.run = __test__%s__run,'
|
|
||||||
% (case.name))
|
|
||||||
f.writeln(8*' '+'},')
|
|
||||||
f.writeln(4*' '+'},')
|
|
||||||
f.writeln(4*' '+'.case_count = %d,' % len(suite.cases))
|
f.writeln(4*' '+'.case_count = %d,' % len(suite.cases))
|
||||||
f.writeln('};')
|
f.writeln('};')
|
||||||
f.writeln()
|
f.writeln()
|
||||||
|
|||||||
Reference in New Issue
Block a user