]> git.scottworley.com Git - pinch/commitdiff
Allow nixpkgs' new intentionally-invalid symlink
authorScott Worley <scottworley@scottworley.com>
Thu, 7 Sep 2023 20:41:07 +0000 (13:41 -0700)
committerScott Worley <scottworley@scottworley.com>
Thu, 7 Sep 2023 20:46:51 +0000 (13:46 -0700)
Changelog
pinch.py

index 0f13a44b8de98da7a9802dd32db5e485a68770f3..fdcf9b7aa0eb520867efd8e6a97184e3fbc62f8d 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,6 +1,7 @@
 ## [Unreleased]
 ### Changed
 - Show which files are unexpectedly incomparable
 ## [Unreleased]
 ### Changed
 - Show which files are unexpectedly incomparable
+- Allow nixpkgs' new intentionally-invalid symlink
 
 
 ## [3.0.11] - 2023-05-24
 
 
 ## [3.0.11] - 2023-05-24
index 6beb4e25c59ee4ab0147c92ea7a9ee3f58b22588..33fd9bfc802d2ee5aa1ab66f365ab5ee921939a6 100644 (file)
--- a/pinch.py
+++ b/pinch.py
@@ -417,17 +417,28 @@ def compare_tarball_and_git(
         'nixpkgs',
         'programs.sqlite',
         'svn-revision']
         'nixpkgs',
         'programs.sqlite',
         'svn-revision']
-    benign_errors = []
+    permitted_errors = [
+        'pkgs/test/nixpkgs-check-by-name/tests/symlink-invalid/pkgs/by-name/fo/foo/foo.nix',
+    ]
+    benign_expected_errors = []
+    benign_permitted_errors = []
     for ee in expected_errors:
         if ee in errors:
             errors.remove(ee)
     for ee in expected_errors:
         if ee in errors:
             errors.remove(ee)
-            benign_errors.append(ee)
+            benign_expected_errors.append(ee)
+    for pe in permitted_errors:
+        if pe in errors:
+            errors.remove(pe)
+            benign_permitted_errors.append(ee)
     v.check(
         f'{len(errors)} unexpected incomparable files: {errors}',
         len(errors) == 0)
     v.check(
     v.check(
         f'{len(errors)} unexpected incomparable files: {errors}',
         len(errors) == 0)
     v.check(
-        f'({len(benign_errors)} of {len(expected_errors)} expected incomparable files)',
-        len(benign_errors) == len(expected_errors))
+        f'({len(benign_expected_errors)} of {len(expected_errors)} expected incomparable files)',
+        len(benign_expected_errors) == len(expected_errors))
+    v.check(
+        f'({len(benign_permitted_errors)} of {len(permitted_errors)} permitted incomparable files)',
+        len(benign_permitted_errors) <= len(permitted_errors))
 
 
 def extract_tarball(
 
 
 def extract_tarball(