Add marshalparser to Python tests
Marshalparser helps us to uniform byte-compiled Python files so it has to be able to also parse pyc files from the main python packages. Moreover, it has its own database of magic numbers so this test checks that the parser is compatible with the latest python before we ship it.
This commit is contained in:
parent
b4fd40e6ca
commit
86842acd1b
2 changed files with 26 additions and 0 deletions
22
marshalparser/test_marshalparser_compatibility.sh
Executable file
22
marshalparser/test_marshalparser_compatibility.sh
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
# Marshalparser helps us to uniform byte-compiled Python files
|
||||
# so it has to be able to also parse pyc files from
|
||||
# the main python packages.
|
||||
# Moreover, it has its own database of magic numbers so this test
|
||||
# checks that the parser is compatible with the latest python before
|
||||
# we ship it.
|
||||
|
||||
# Test the latest version by default because that's the place
|
||||
# where magic number incompatibility might happen with
|
||||
# the largest probability
|
||||
VERSION=${VERSION:-3.9}
|
||||
|
||||
# How many randomly-selected pyc files to check?
|
||||
SAMPLE=${SAMPLE:-50}
|
||||
|
||||
path="/usr/lib*/python$VERSION/"
|
||||
|
||||
for file in `find $path -name "*.pyc" | shuf | head -n $SAMPLE`; do
|
||||
marshalparser $file || exit 1
|
||||
done
|
||||
|
|
@ -58,6 +58,9 @@
|
|||
- debugflags:
|
||||
dir: flags
|
||||
run: python3-debug ./assertflags.py -Og
|
||||
- marshalparser_compatibility:
|
||||
dir: marshalparser
|
||||
run: SAMPLE=10 test_marshalparser_compatibility.sh
|
||||
required_packages:
|
||||
- dnf
|
||||
- gcc
|
||||
|
|
@ -79,3 +82,4 @@
|
|||
- python3-test
|
||||
- python3-debug
|
||||
- python3-rpm-macros
|
||||
- marshalparser
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue