aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorMitchell Hentges <mitchhentges@protonmail.com>2016-05-19 19:37:16 +0200
committerMitchell Hentges <mitchhentges@protonmail.com>2016-05-24 22:23:37 +0200
commit29da4621362b756ea5f970a74f3f74c01ad0412c (patch)
tree96c5043c4ce944fedfe852b0d86f026cb09dc441 /python
parentdea610986dbf4a1e5898cbe6b57832784e786f3a (diff)
downloadservo-29da4621362b756ea5f970a74f3f74c01ad0412c.tar.gz
servo-29da4621362b756ea5f970a74f3f74c01ad0412c.zip
Add --all for test-tidy, with backwards-compat with --faster
Diffstat (limited to 'python')
-rw-r--r--python/servo/testing_commands.py19
-rw-r--r--python/tidy/servo_tidy/tidy.py10
2 files changed, 22 insertions, 7 deletions
diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py
index 7a821a08679..939b3434341 100644
--- a/python/servo/testing_commands.py
+++ b/python/servo/testing_commands.py
@@ -257,15 +257,30 @@ class MachCommands(CommandBase):
category='testing')
@CommandArgument('--faster', default=False, action="store_true",
help="Only check changed files and skip the WPT lint in tidy, "
- "if there are no changes in the WPT files")
+ "if there are no changes in the WPT files. Cannot be used with --all")
+ @CommandArgument('--all', default=False, action="store_true", dest="all_files",
+ help="Check all files, and run the WPT lint in tidy, "
+ "even if unchanged. Cannot be used with --faster")
@CommandArgument('--no-progress', default=False, action="store_true",
help="Don't show progress for tidy")
@CommandArgument('--self-test', default=False, action="store_true",
help="Run unit tests for tidy")
- def test_tidy(self, faster, no_progress, self_test):
+ def test_tidy(self, faster, all_files, no_progress, self_test):
if self_test:
return test_tidy.do_tests()
else:
+ # The `test-tidy` command is currently mid-migration from --faster to --all.
+ # Since --faster and --all are opposites, they cannot both be used at the same time
+ if faster and all_files:
+ print("Cannot tidy --all while also being --faster")
+ return -1
+
+ # |--faster|--all|behaviour of tidy.scan()
+ # | false|false|scan all files # This was the behaviour before adding --all
+ # | true|false|only scan changed files # Expected behaviour if --faster is used
+ # | false| true|scan all files # Expected behaviour if --all is used
+ #
+ # The pattern: if `faster` is true, go fast. Otherwise, go slow.
return tidy.scan(faster, not no_progress)
@Command('test-webidl',
diff --git a/python/tidy/servo_tidy/tidy.py b/python/tidy/servo_tidy/tidy.py
index 65078c5b771..5baca6749ab 100644
--- a/python/tidy/servo_tidy/tidy.py
+++ b/python/tidy/servo_tidy/tidy.py
@@ -101,8 +101,8 @@ def filter_file(file_name):
return True
-def filter_files(start_dir, faster, progress):
- file_iter = get_file_list(start_dir, faster, ignored_dirs)
+def filter_files(start_dir, only_changed_files, progress):
+ file_iter = get_file_list(start_dir, only_changed_files, ignored_dirs)
(has_element, file_iter) = is_iter_empty(file_iter)
if not has_element:
raise StopIteration
@@ -649,14 +649,14 @@ def get_file_list(directory, only_changed_files=False, exclude_dirs=[]):
yield os.path.join(root, f)
-def scan(faster=False, progress=True):
+def scan(only_changed_files=False, progress=True):
# standard checks
- files_to_check = filter_files('.', faster, progress)
+ files_to_check = filter_files('.', only_changed_files, progress)
checking_functions = (check_flake8, check_lock, check_webidl_spec, check_json)
line_checking_functions = (check_license, check_by_line, check_toml, check_rust, check_spec, check_modeline)
errors = collect_errors_for_files(files_to_check, checking_functions, line_checking_functions)
# wpt lint checks
- wpt_lint_errors = check_wpt_lint_errors(get_wpt_files(faster, progress))
+ wpt_lint_errors = check_wpt_lint_errors(get_wpt_files(only_changed_files, progress))
# collect errors
errors = itertools.chain(errors, wpt_lint_errors)
error = None