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.
--- 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