diff --git a/python/tidy/servo_tidy_tests/duplicated_package.lock b/python/tidy/servo_tidy_tests/duplicated_package.lock new file mode 100644 index 000000000000..77777fdd82c9 --- /dev/null +++ b/python/tidy/servo_tidy_tests/duplicated_package.lock @@ -0,0 +1,21 @@ +[root] +name = "servo" +version = "0.0.1" + +[[package]] +name = "test" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "test" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "test2" +version = "0.1.0" +source = "git+https://github.com/" +dependencies = [ + "test 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", +] diff --git a/python/tidy/servo_tidy_tests/test_tidy.py b/python/tidy/servo_tidy_tests/test_tidy.py index e07f0d1bb559..65eb9bc7a951 100644 --- a/python/tidy/servo_tidy_tests/test_tidy.py +++ b/python/tidy/servo_tidy_tests/test_tidy.py @@ -96,6 +96,18 @@ def test_modeline(self): self.assertEqual('vi modeline present', errors.next()[2]) self.assertEqual('emacs file variables present', errors.next()[2]) self.assertEqual('emacs file variables present', errors.next()[2]) + self.assertNoMoreErrors(errors) + + def test_lock(self): + errors = tidy.collect_errors_for_files(iterFile('duplicated_package.lock'), [tidy.check_lock], []) + msg = """duplicate versions for package "test" +\t\033[93mfound dependency on version 0.4.9\033[0m +\t\033[91mbut highest version is 0.5.1\033[0m +\t\033[93mtry upgrading with\033[0m \033[96m./mach cargo-update -p test:0.4.9\033[0m +\tThe following packages depend on version 0.4.9: +\t\ttest2""" + self.assertEqual(msg, errors.next()[2]) + self.assertNoMoreErrors(errors) def do_tests():