|
21 | 21 | from compare_perf_tests import PerformanceTestResult
|
22 | 22 | from compare_perf_tests import ResultComparison
|
23 | 23 | from compare_perf_tests import TestComparator
|
| 24 | +from compare_perf_tests import parse_args |
24 | 25 |
|
25 | 26 |
|
26 | 27 | class TestPerformanceTestResult(unittest.TestCase):
|
@@ -225,5 +226,57 @@ def names(tests):
|
225 | 226 | self.assertEquals(tc.decreased, [])
|
226 | 227 |
|
227 | 228 |
|
| 229 | +class Test_parse_args(unittest.TestCase): |
| 230 | + required = ['--old-file', 'old.log', '--new-file', 'new.log'] |
| 231 | + |
| 232 | + def test_required_input_arguments(self): |
| 233 | + args = parse_args(self.required) |
| 234 | + self.assertEquals(args.old_file, 'old.log') |
| 235 | + self.assertEquals(args.new_file, 'new.log') |
| 236 | + self.assertRaises(SystemExit, parse_args, []) |
| 237 | + |
| 238 | + def test_format_argument(self): |
| 239 | + self.assertEquals( |
| 240 | + parse_args(self.required + ['--format', 'markdown']).format, |
| 241 | + 'markdown') |
| 242 | + self.assertEquals( |
| 243 | + parse_args(self.required + ['--format', 'git']).format, 'git') |
| 244 | + self.assertEquals( |
| 245 | + parse_args(self.required + ['--format', 'html']).format, 'html') |
| 246 | + self.assertRaises(SystemExit, parse_args, |
| 247 | + self.required + ['--format', 'bogus']) |
| 248 | + |
| 249 | + def test_delta_threshold_argument(self): |
| 250 | + # default value |
| 251 | + args = parse_args(self.required) |
| 252 | + self.assertEquals(args.delta_threshold, 0.05) |
| 253 | + # float parsing |
| 254 | + args = parse_args(self.required + ['--delta-threshold', '0.1']) |
| 255 | + self.assertEquals(args.delta_threshold, 0.1) |
| 256 | + args = parse_args(self.required + ['--delta-threshold', '1']) |
| 257 | + self.assertEquals(args.delta_threshold, 1.0) |
| 258 | + args = parse_args(self.required + ['--delta-threshold', '.2']) |
| 259 | + self.assertEquals(args.delta_threshold, 0.2) |
| 260 | + self.assertRaises(SystemExit, parse_args, |
| 261 | + self.required + ['--delta-threshold', '2,2']) |
| 262 | + |
| 263 | + def test_changes_only_argument(self): |
| 264 | + self.assertFalse(parse_args(self.required).changes_only) |
| 265 | + self.assertTrue(parse_args(self.required + |
| 266 | + ['--changes-only']).changes_only) |
| 267 | + |
| 268 | + def test_branch_arguments(self): |
| 269 | + # default value |
| 270 | + args = parse_args(self.required) |
| 271 | + self.assertEquals(args.new_branch, 'NEW_MIN') |
| 272 | + self.assertEquals(args.old_branch, 'OLD_MIN') |
| 273 | + # user specified |
| 274 | + args = parse_args( |
| 275 | + self.required + ['--old-branch', 'master', |
| 276 | + '--new-branch', 'amazing-optimization']) |
| 277 | + self.assertEquals(args.old_branch, 'master') |
| 278 | + self.assertEquals(args.new_branch, 'amazing-optimization') |
| 279 | + |
| 280 | + |
228 | 281 | if __name__ == '__main__':
|
229 | 282 | unittest.main()
|
0 commit comments