comparison contrib/perf-utils/compare-discovery-case @ 49463:5acbc550d987

compare-disco: support for `file` nodes specification This leverage the `nodefromfile` feature in core. This make it possible for callers to no longer pay the subset computation cost (and to make sure the subset is the right one, even when the base repository is different)
author Pierre-Yves DAVID <pierre-yves.david@octobus.net>
date Sun, 05 Jun 2022 07:16:29 +0200
parents ef0b0f94d2e5
children 493034cc3265
comparison
equal deleted inserted replaced
49462:ef0b0f94d2e5 49463:5acbc550d987
97 assert set(VARIANTS.keys()) == set(VARIANTS_KEYS) 97 assert set(VARIANTS.keys()) == set(VARIANTS_KEYS)
98 98
99 99
100 def parse_case(case): 100 def parse_case(case):
101 case_type, case_args = case.split('-', 1) 101 case_type, case_args = case.split('-', 1)
102 case = (case_type,) + tuple(int(x) for x in case_args.split('-')) 102 if case_type == 'file':
103 case_args = (case_args,)
104 else:
105 case_args = tuple(int(x) for x in case_args.split('-'))
106 case = (case_type,) + case_args
103 return case 107 return case
104 108
105 109
106 def format_case(case): 110 def format_case(case):
107 return '-'.join(str(s) for s in case) 111 return '-'.join(str(s) for s in case)
113 return 'not scratch(all(), %d, "%d")' % (case[1], case[2]) 117 return 'not scratch(all(), %d, "%d")' % (case[1], case[2])
114 elif t == 'randomantichain': 118 elif t == 'randomantichain':
115 return '::randomantichain(all(), "%d")' % case[1] 119 return '::randomantichain(all(), "%d")' % case[1]
116 elif t == 'rev': 120 elif t == 'rev':
117 return '::%d' % case[1] 121 return '::%d' % case[1]
122 elif t == 'file':
123 return '::nodefromfile("%s")' % case[1]
118 else: 124 else:
119 assert False 125 assert False
120 126
121 127
122 def compare( 128 def compare(