1919import unittest
2020from pathlib import Path
2121
22- from rules_python . python .runfiles import runfiles
22+ from python .runfiles import runfiles
2323
2424
2525class PipInstallTest (unittest .TestCase ):
2626 maxDiff = None
2727
28+ def _remove_leading_dirs (self , paths ):
29+ # Removes the first two directories (external/<reponame>)
30+ # to normalize what workspace and bzlmod produce.
31+ #return [str(Path(*Path(v).parts[2:])) for v in paths]
32+ return [
33+ '/' .join (v .split ('/' )[2 :])
34+ for v in paths
35+ ]
36+
2837 def test_entry_point (self ):
29- env = os .environ .get ("YAMLLINT_ENTRY_POINT" )
30- self .assertIsNotNone (env )
38+ entry_point_path = os .environ .get ("YAMLLINT_ENTRY_POINT" )
39+ self .assertIsNotNone (entry_point_path )
3140
3241 r = runfiles .Create ()
3342
34- # To find an external target, this must use `{workspace_name}/$(rootpath @external_repo//:target)`
35- entry_point = Path (r .Rlocation ("rules_python_pip_parse_example/{}" .format (env )))
43+ entry_point = Path (r .Rlocation (entry_point_path ))
3644 self .assertTrue (entry_point .exists ())
3745
3846 proc = subprocess .run (
@@ -44,31 +52,34 @@ def test_entry_point(self):
4452 self .assertEqual (proc .stdout .decode ("utf-8" ).strip (), "yamllint 1.28.0" )
4553
4654 def test_data (self ):
47- env = os .environ .get ("WHEEL_DATA_CONTENTS" )
48- self .assertIsNotNone (env )
55+ actual = os .environ .get ("WHEEL_DATA_CONTENTS" )
56+ self .assertIsNotNone (actual )
57+ actual = self ._remove_leading_dirs (actual .split (" " ))
58+
4959 self .assertListEqual (
50- env . split ( " " ) ,
60+ actual ,
5161 [
52- "external/pypi_s3cmd/ data/share/doc/packages/s3cmd/INSTALL.md" ,
53- "external/pypi_s3cmd/ data/share/doc/packages/s3cmd/LICENSE" ,
54- "external/pypi_s3cmd/ data/share/doc/packages/s3cmd/NEWS" ,
55- "external/pypi_s3cmd/ data/share/doc/packages/s3cmd/README.md" ,
56- "external/pypi_s3cmd/ data/share/man/man1/s3cmd.1" ,
62+ "data/share/doc/packages/s3cmd/INSTALL.md" ,
63+ "data/share/doc/packages/s3cmd/LICENSE" ,
64+ "data/share/doc/packages/s3cmd/NEWS" ,
65+ "data/share/doc/packages/s3cmd/README.md" ,
66+ "data/share/man/man1/s3cmd.1" ,
5767 ],
5868 )
5969
6070 def test_dist_info (self ):
61- env = os .environ .get ("WHEEL_DIST_INFO_CONTENTS" )
62- self .assertIsNotNone (env )
71+ actual = os .environ .get ("WHEEL_DIST_INFO_CONTENTS" )
72+ self .assertIsNotNone (actual )
73+ actual = self ._remove_leading_dirs (actual .split (" " ))
6374 self .assertListEqual (
64- env . split ( " " ) ,
75+ actual ,
6576 [
66- "external/pypi_requests/ site-packages/requests-2.25.1.dist-info/INSTALLER" ,
67- "external/pypi_requests/ site-packages/requests-2.25.1.dist-info/LICENSE" ,
68- "external/pypi_requests/ site-packages/requests-2.25.1.dist-info/METADATA" ,
69- "external/pypi_requests/ site-packages/requests-2.25.1.dist-info/RECORD" ,
70- "external/pypi_requests/ site-packages/requests-2.25.1.dist-info/WHEEL" ,
71- "external/pypi_requests/ site-packages/requests-2.25.1.dist-info/top_level.txt" ,
77+ "site-packages/requests-2.25.1.dist-info/INSTALLER" ,
78+ "site-packages/requests-2.25.1.dist-info/LICENSE" ,
79+ "site-packages/requests-2.25.1.dist-info/METADATA" ,
80+ "site-packages/requests-2.25.1.dist-info/RECORD" ,
81+ "site-packages/requests-2.25.1.dist-info/WHEEL" ,
82+ "site-packages/requests-2.25.1.dist-info/top_level.txt" ,
7283 ],
7384 )
7485
0 commit comments