tools/ci.sh: Add test for mpy-tool's merging feature.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
599a22e569
commit
bf92b0cbf2
2
.github/workflows/ports_unix.yml
vendored
2
.github/workflows/ports_unix.yml
vendored
@ -71,6 +71,8 @@ jobs:
|
||||
run: source tools/ci.sh && ci_unix_coverage_build
|
||||
- name: Run main test suite
|
||||
run: source tools/ci.sh && ci_unix_coverage_run_tests
|
||||
- name: Test merging .mpy files
|
||||
run: source tools/ci.sh && ci_unix_coverage_run_mpy_merge_tests
|
||||
- name: Build native mpy modules
|
||||
run: source tools/ci.sh && ci_native_mpy_modules_build
|
||||
- name: Test importing .mpy generated by mpy_ld.py
|
||||
|
24
tools/ci.sh
24
tools/ci.sh
@ -468,6 +468,30 @@ function ci_unix_coverage_run_tests {
|
||||
ci_unix_run_tests_full_helper coverage
|
||||
}
|
||||
|
||||
function ci_unix_coverage_run_mpy_merge_tests {
|
||||
mptop=$(pwd)
|
||||
outdir=$(mktemp -d)
|
||||
allmpy=()
|
||||
|
||||
# Compile a selection of tests to .mpy and execute them, collecting the output.
|
||||
# None of the tests should SKIP.
|
||||
for inpy in $mptop/tests/basics/[acdel]*.py; do
|
||||
test=$(basename $inpy .py)
|
||||
echo $test
|
||||
outmpy=$outdir/$test.mpy
|
||||
$mptop/mpy-cross/mpy-cross -o $outmpy $inpy
|
||||
(cd $outdir && $mptop/ports/unix/micropython-coverage -m $test >> out-individual)
|
||||
allmpy+=($outmpy)
|
||||
done
|
||||
|
||||
# Merge all the tests into one .mpy file, and then execute it.
|
||||
python3 $mptop/tools/mpy-tool.py --merge -o $outdir/merged.mpy ${allmpy[@]}
|
||||
(cd $outdir && $mptop/ports/unix/micropython-coverage -m merged > out-merged)
|
||||
|
||||
# Make sure the outputs match.
|
||||
diff $outdir/out-individual $outdir/out-merged && /bin/rm -rf $outdir
|
||||
}
|
||||
|
||||
function ci_unix_coverage_run_native_mpy_tests {
|
||||
MICROPYPATH=examples/natmod/features2 ./ports/unix/micropython-coverage -m features2
|
||||
(cd tests && ./run-natmodtests.py "$@" extmod/{btree*,framebuf*,uheapq*,urandom*,ure*,uzlib*}.py)
|
||||
|
Loading…
Reference in New Issue
Block a user