# HG changeset patch # User Anton Shestakov # Date 1674658457 -14400 # Node ID 37de1a154472921062b6ed001245465cadc0c7b8 # Parent 43bfddcba7d6ea7e04056f6a495cf5591bfb195f 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. diff -r 43bfddcba7d6 -r 37de1a154472 tests/test-check-shbang.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 diff -r 43bfddcba7d6 -r 37de1a154472 tests/test-highlight.t --- 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