| OLD | NEW |
| 1 # Copyright (C) 2013 Google Inc. All rights reserved. | 1 # Copyright (C) 2013 Google Inc. All rights reserved. |
| 2 # | 2 # |
| 3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
| 4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
| 5 # met: | 5 # met: |
| 6 # | 6 # |
| 7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
| 8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
| 9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
| 10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 "bar": {"bar1": {"fast5.html": 10, | 51 "bar": {"bar1": {"fast5.html": 10, |
| 52 "fast6.html": 10, | 52 "fast6.html": 10, |
| 53 "slow3.html": 80}}} | 53 "slow3.html": 80}}} |
| 54 """) | 54 """) |
| 55 main(host, args) | 55 main(host, args) |
| 56 self.assertEqual(host.stdout.getvalue(), expected_output) | 56 self.assertEqual(host.stdout.getvalue(), expected_output) |
| 57 | 57 |
| 58 def test_fastest_overall(self): | 58 def test_fastest_overall(self): |
| 59 # This is the fastest 10% of the tests overall (ignoring dir structure,
equivalent to -f 0). | 59 # This is the fastest 10% of the tests overall (ignoring dir structure,
equivalent to -f 0). |
| 60 self.check(['--fastest', '10'], | 60 self.check(['--fastest', '10'], |
| 61 "bar/bar1/fast5.html 10\n" | 61 'bar/bar1/fast5.html 10\n' |
| 62 "bar/bar1/fast6.html 10\n" | 62 'bar/bar1/fast6.html 10\n' |
| 63 "foo/foo1/fast1.html 10\n") | 63 'foo/foo1/fast1.html 10\n') |
| 64 | 64 |
| 65 def test_fastest_forward_1(self): | 65 def test_fastest_forward_1(self): |
| 66 # Note that we don't get anything from foo/foo2, as foo/foo1 used up the
budget for foo. | 66 # Note that we don't get anything from foo/foo2, as foo/foo1 used up the
budget for foo. |
| 67 self.check(['-f', '1', '--fastest', '10'], | 67 self.check(['-f', '1', '--fastest', '10'], |
| 68 "bar/bar1/fast5.html 10\n" | 68 'bar/bar1/fast5.html 10\n' |
| 69 "foo/foo1/fast1.html 10\n" | 69 'foo/foo1/fast1.html 10\n' |
| 70 "foo/foo1/fast2.html 10\n") | 70 'foo/foo1/fast2.html 10\n') |
| 71 | 71 |
| 72 def test_fastest_back_1(self): | 72 def test_fastest_back_1(self): |
| 73 # Here we get one test from each dir, showing that we are going properly
breadth-first. | 73 # Here we get one test from each dir, showing that we are going properly
breadth-first. |
| 74 self.check(['-b', '1', '--fastest', '10'], | 74 self.check(['-b', '1', '--fastest', '10'], |
| 75 "bar/bar1/fast5.html 10\n" | 75 'bar/bar1/fast5.html 10\n' |
| 76 "foo/foo1/fast1.html 10\n" | 76 'foo/foo1/fast1.html 10\n' |
| 77 "foo/foo2/fast3.html 10\n") | 77 'foo/foo2/fast3.html 10\n') |
| 78 | 78 |
| 79 def test_no_args(self): | 79 def test_no_args(self): |
| 80 # This should be every test, sorted lexicographically. | 80 # This should be every test, sorted lexicographically. |
| 81 self.check([], | 81 self.check([], |
| 82 "bar/bar1/fast5.html 10\n" | 82 'bar/bar1/fast5.html 10\n' |
| 83 "bar/bar1/fast6.html 10\n" | 83 'bar/bar1/fast6.html 10\n' |
| 84 "bar/bar1/slow3.html 80\n" | 84 'bar/bar1/slow3.html 80\n' |
| 85 "foo/foo1/fast1.html 10\n" | 85 'foo/foo1/fast1.html 10\n' |
| 86 "foo/foo1/fast2.html 10\n" | 86 'foo/foo1/fast2.html 10\n' |
| 87 "foo/foo1/slow1.html 80\n" | 87 'foo/foo1/slow1.html 80\n' |
| 88 "foo/foo2/fast3.html 10\n" | 88 'foo/foo2/fast3.html 10\n' |
| 89 "foo/foo2/fast4.html 10\n" | 89 'foo/foo2/fast4.html 10\n' |
| 90 "foo/foo2/slow2.html 80\n") | 90 'foo/foo2/slow2.html 80\n') |
| 91 | 91 |
| 92 def test_total(self): | 92 def test_total(self): |
| 93 self.check(['-f', '0'], "300\n") | 93 self.check(['-f', '0'], '300\n') |
| 94 | 94 |
| 95 def test_forward_one(self): | 95 def test_forward_one(self): |
| 96 self.check(['-f', '1'], | 96 self.check(['-f', '1'], |
| 97 "bar 100\n" | 97 'bar 100\n' |
| 98 "foo 200\n") | 98 'foo 200\n') |
| 99 | 99 |
| 100 def test_backward_one(self): | 100 def test_backward_one(self): |
| 101 self.check(['-b', '1'], | 101 self.check(['-b', '1'], |
| 102 "bar/bar1 100\n" | 102 'bar/bar1 100\n' |
| 103 "foo/foo1 100\n" | 103 'foo/foo1 100\n' |
| 104 "foo/foo2 100\n") | 104 'foo/foo2 100\n') |
| 105 | 105 |
| 106 def test_path_to_file(self): | 106 def test_path_to_file(self): |
| 107 # Tests that we can use a custom file rather than the port's default. | 107 # Tests that we can use a custom file rather than the port's default. |
| 108 self.check(['/tmp/times_ms.json'], "foo/bar.html 1\n", | 108 self.check(['/tmp/times_ms.json'], 'foo/bar.html 1\n', |
| 109 files={'/tmp/times_ms.json': '{"foo":{"bar.html": 1}}'}) | 109 files={'/tmp/times_ms.json': '{"foo":{"bar.html": 1}}'}) |
| OLD | NEW |