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:
Lumir Balhar 2020-07-29 10:59:50 +02:00
commit 86842acd1b
2 changed files with 26 additions and 0 deletions

View 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

View file

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