Extract the workload -> scale factor mapping from the command line The expected string is "workload_1[:scale_factor_1],...,workload_n[:scale_factor_n]"
()
| 186 | |
| 187 | |
| 188 | def get_workload_scale_factor(): |
| 189 | """Extract the workload -> scale factor mapping from the command line |
| 190 | |
| 191 | The expected string is "workload_1[:scale_factor_1],...,workload_n[:scale_factor_n]" |
| 192 | """ |
| 193 | workload_str = options.workloads |
| 194 | workload_tuples = split_and_strip(workload_str) |
| 195 | assert len(workload_tuples) > 0, "At least one workload must be specified" |
| 196 | for workload_tuple in workload_tuples: |
| 197 | # Each member should conform to workload[:scale_factor] |
| 198 | workload_tuple = split_and_strip(workload_tuple, delim=":") |
| 199 | assert len(workload_tuple) in [1, 2], "Error parsing workload:scale_factor" |
| 200 | if len(workload_tuple) == 1: workload_tuple.append(str()) |
| 201 | yield workload_tuple |
| 202 | |
| 203 | |
| 204 | def split_and_strip(input_string, delim=","): |
no test coverage detected