Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(236)

Side by Side Diff: third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline_unittest.py

Issue 2341643005: In rebaseline.py, update SCM and expectations all at once after all commands. (Closed)
Patch Set: Add unit test for ChangeSet Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline_cl.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import optparse 5 import optparse
6 import unittest 6 import unittest
7 7
8 from webkitpy.common.net.buildbot import Build 8 from webkitpy.common.net.buildbot import Build
9 from webkitpy.common.net.layouttestresults import LayoutTestResults 9 from webkitpy.common.net.layouttestresults import LayoutTestResults
10 from webkitpy.common.system.executive_mock import MockExecutive, MockExecutive2 10 from webkitpy.common.system.executive_mock import MockExecutive, MockExecutive2
(...skipping 916 matching lines...) Expand 10 before | Expand all | Expand 10 after
927 for cmd_line, cwd in commands: 927 for cmd_line, cwd in commands:
928 out = self.run_command(cmd_line, cwd=cwd) 928 out = self.run_command(cmd_line, cwd=cwd)
929 if 'rebaseline-test-internal' in cmd_line: 929 if 'rebaseline-test-internal' in cmd_line:
930 out = '{"add": [], "remove-lines": [{"test": "%s", "builder": "% s"}], "delete": []}\n' % (cmd_line[8], cmd_line[6]) 930 out = '{"add": [], "remove-lines": [{"test": "%s", "builder": "% s"}], "delete": []}\n' % (cmd_line[8], cmd_line[6])
931 command_outputs.append([0, out, '']) 931 command_outputs.append([0, out, ''])
932 932
933 new_calls = self.calls[num_previous_calls:] 933 new_calls = self.calls[num_previous_calls:]
934 self.calls = self.calls[:num_previous_calls] 934 self.calls = self.calls[:num_previous_calls]
935 self.calls.append(new_calls) 935 self.calls.append(new_calls)
936 return command_outputs 936 return command_outputs
937
938
939 class ChangeSetTest(unittest.TestCase):
940
941 def test_constructor_and_getters(self):
942 change_set = ChangeSet(
943 files_to_add=['add/a.html', 'add/b.html'],
944 files_to_delete=['del/x.html'],
945 lines_to_remove={'my/test.html': ['my-builder']})
946 self.assertEqual(change_set.files_to_add, ['add/a.html', 'add/b.html'])
947 self.assertEqual(change_set.files_to_delete, ['del/x.html'])
948 self.assertEqual(change_set.lines_to_remove, {'my/test.html': ['my-build er']})
949
950 def test_files_to_add_and_files_to_delete_are_sorted_no_dupes(self):
951 change_set = ChangeSet(files_to_add=['b', 'a', 'a'], files_to_delete=['x ', 'y', 'x'])
952 self.assertEqual(change_set.files_to_add, ['a', 'b'])
953 self.assertEqual(change_set.files_to_delete, ['x', 'y'])
954
955 def test_files_both_added_and_deleted_are_ignored(self):
956 change_set = ChangeSet(files_to_add=['a', 'b', 'c'], files_to_delete=['c ', 'd', 'e'])
957 self.assertEqual(change_set.files_to_add, ['a', 'b'])
958 self.assertEqual(change_set.files_to_delete, ['d', 'e'])
959 change_set.add_file('d')
960 self.assertEqual(change_set.files_to_add, ['a', 'b'])
961 self.assertEqual(change_set.files_to_delete, ['e'])
962 change_set.delete_file('b')
963 self.assertEqual(change_set.files_to_add, ['a'])
964 self.assertEqual(change_set.files_to_delete, ['e'])
965
966 def test_add_file(self):
967 change_set = ChangeSet()
968 change_set.add_file('a')
969 change_set.add_file('b')
970 change_set.add_file('b')
971 self.assertEqual(change_set.files_to_add, ['a', 'b'])
972
973 def test_delete_file(self):
974 change_set = ChangeSet()
975 change_set.delete_file('a')
976 change_set.delete_file('b')
977 change_set.delete_file('b')
978 self.assertEqual(change_set.files_to_delete, ['a', 'b'])
979
980 def test_remove_line(self):
981 change_set = ChangeSet()
982 change_set.remove_line('test', 'builder-b')
983 change_set.remove_line('test', 'builder-a')
984 change_set.remove_line('test', 'builder-a')
985 self.assertEqual(
986 change_set.lines_to_remove,
987 {'test': ['builder-a', 'builder-b']})
988
989 def test_from_dict(self):
990 change_set = ChangeSet.from_dict({
991 'add': ['to/add.html'],
992 'remove-lines': [{'test': 'some/test.html', 'builder': 'builder-name '}]
993 })
994 self.assertEqual(change_set.files_to_add, ['to/add.html'])
995 self.assertEqual(change_set.lines_to_remove, {'some/test.html': ['builde r-name']})
996
997 def test_to_dict(self):
998 change_set = ChangeSet(
999 files_to_add=['add/b.html', 'add/a.html'],
1000 files_to_delete=['del/x.html'],
1001 lines_to_remove={
1002 'x/test.html': ['builder-b', 'builder-b', 'builder-a'],
1003 'y/test.html': [],
1004 'z/test.html': ['builder-c']})
1005 self.assertEqual(change_set.to_dict(), {
1006 'add': ['add/a.html', 'add/b.html'],
1007 'delete': ['del/x.html'],
1008 'remove-lines': [
1009 {'test': 'x/test.html', 'builder': 'builder-a'},
1010 {'test': 'x/test.html', 'builder': 'builder-b'},
1011 {'test': 'z/test.html', 'builder': 'builder-c'},
1012 ],
1013 })
1014
1015 def test_update(self):
1016 change_set = ChangeSet(
1017 files_to_add=['add/a.html', 'add/b.html'],
1018 files_to_delete=['del/x.html'],
1019 lines_to_remove={'my/test.html': ['my-builder']})
1020 change_set.update(ChangeSet(
1021 files_to_add=['add/a.html', 'add/c.html', 'del/x.html'],
1022 files_to_delete=['add/b.html', 'del/y.html'],
1023 lines_to_remove={'my/test.html': ['my-builder', 'other-builder']}))
1024 self.assertEqual(change_set.files_to_add, ['add/a.html', 'add/c.html'])
1025 self.assertEqual(change_set.files_to_delete, ['del/y.html'])
1026 self.assertEqual(change_set.lines_to_remove, {'my/test.html': ['my-build er', 'other-builder']})
OLDNEW
« no previous file with comments | « third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline_cl.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698