tests: make sure pygments can detect python script without extension stable
authorAnton Shestakov <av6@dwimlabs.net>
Wed, 25 Jan 2023 18:54:17 +0400
branchstable
changeset 49950 37de1a154472
parent 49947 43bfddcba7d6
child 49951 42baf12efd21
tests: make sure pygments can detect python script without extension This .t file was failing for me when running run-tests.py with python3.11. Then I tried to run it with python3.10 and it failed anyway, even though it's the default python3 interpreter. But with `python3 ./run-tests.py` it worked fine. And this is what I found while looking at the way pygments lexer checks if a file without extension is likely to be a python script: shebang_matches(text, r'pythonw?(3(\.\d)?)?') Take guess why it doesn't work for python >= 3.10. To work around this issue, we can simply hardcode an "easier" shebang for pygments. This path to python interpreter obviously doesn't need to be accurate, since we're not running this script.
tests/test-check-shbang.t
tests/test-highlight.t
--- a/tests/test-check-shbang.t	Wed Jan 25 17:52:00 2023 +0400
+++ b/tests/test-check-shbang.t	Wed Jan 25 18:54:17 2023 +0400
@@ -14,7 +14,8 @@
   > -X tests/test-check-format.t \
   > -X tests/test-check-module-imports.t \
   > -X tests/test-check-pyflakes.t \
-  > -X tests/test-check-shbang.t
+  > -X tests/test-check-shbang.t \
+  > -X tests/test-highlight.t
   [1]
 
 The above exclusions are because they're looking for files that
--- a/tests/test-highlight.t	Wed Jan 25 17:52:00 2023 +0400
+++ b/tests/test-highlight.t	Wed Jan 25 18:54:17 2023 +0400
@@ -1008,7 +1008,7 @@
   > EOF
 
   $ cat > unknownfile << EOF
-  > #!$PYTHON
+  > #!/this/helps/pygments/detect/python
   > def foo():
   >    pass
   > EOF