Skip to content
Permalink
Browse files

Run rustfmt on test-tidy

Add ./mach fmt command.
Mach installs rustfmt if needed.
  • Loading branch information
pyfisch committed Nov 6, 2018
1 parent 6878dbb commit bf47f90da667e95eaffc8fee36ca8a88e72e276c
Showing with 16 additions and 14 deletions.
  1. +0 −13 python/servo/devenv_commands.py
  2. +16 −1 python/servo/testing_commands.py
@@ -233,19 +233,6 @@ def fetch(self):
with cd(self.context.topdir):
return self.call_rustup_run(["cargo", "fetch"], env=self.build_env())

@Command('rustfmt',
description='Format the Rust code using Cargo fmt',
category='devenv')
@CommandArgument(
'--directory', '-d', default=None,
help='Command-line argument to specify the directory for formatting')
def rustfmt(self, directory=""):
if directory == "":
directory = self.context.topdir

with cd(self.context.topdir):
return self.call_rustup_run(["cargo", "fmt", "--", directory], env=self.build_env())

@Command('ndk-stack',
description='Invoke the ndk-stack tool with the expected symbol paths',
category='devenv')
@@ -304,6 +304,12 @@ def test_content(self):
"tests/wpt/mozilla/.")
return 0

def install_rustfmt(self):
if self.call_rustup_run(["cargo", "fmt", "--version", "-q"],
stderr=open(os.devnull, "w")) != 0:
# Rustfmt is not installed. Install:
self.call_rustup_run(["rustup", "component", "add", "rustfmt-preview"])

@Command('test-tidy',
description='Run the source code tidiness check',
category='testing')
@@ -322,7 +328,9 @@ def test_tidy(self, all_files, no_progress, self_test, stylo):
else:
manifest_dirty = run_update(self.context.topdir, check_clean=True)
tidy_failed = tidy.scan(not all_files, not no_progress, stylo=stylo)
return tidy_failed or manifest_dirty
self.install_rustfmt()
rustfmt_failed = self.call_rustup_run(["cargo", "fmt", "--", "--check"])
return tidy_failed or manifest_dirty or rustfmt_failed

@Command('test-webidl',
description='Run the WebIDL parser tests',
@@ -443,6 +451,13 @@ def wptrunner(self, run_file, **kwargs):
def update_manifest(self, **kwargs):
return run_update(self.context.topdir, **kwargs)

@Command('fmt',
description='Format the Rust source files with rustfmt',
category='testing')
def format_code(self, **kwargs):
self.install_rustfmt()
return self.call_rustup_run(["cargo", "fmt"])

@Command('update-wpt',
description='Update the web platform tests',
category='testing',

0 comments on commit bf47f90

Please sign in to comment.
You can’t perform that action at this time.