travis: Add new job to build and test unix coverage in 32-bit mode.
squashed ---
.travis.yml: unix coverage 32-bit: Update for Pycopy.
@@ -138,6 +138,44 @@ jobs:
after_failure:
- (cd tests && for exp in *.exp; do testbase=$(basename $exp .exp); echo -e "\nFAILURE $testbase"; diff -u $testbase.exp $testbase.out; done)
+ # unix coverage 32-bit
+ - stage: test
+ env: NAME="unix coverage 32-bit build and tests"
+ install:
+ - sudo apt-get install gcc-multilib libffi-dev:i386
+ - sudo apt-get install python3-pip
+ - sudo pip3 install setuptools
+ - sudo pip3 install pyelftools
+ - gcc --version
+ - python3 --version
+ script:
+ - make ${MAKEOPTS} -C mpy-cross
+ - make ${MAKEOPTS} -C ports/unix MICROPY_FORCE_32BIT=1 submodules
+ - make ${MAKEOPTS} -C ports/unix MICROPY_FORCE_32BIT=1 deplibs
+ - make ${MAKEOPTS} -C ports/unix MICROPY_FORCE_32BIT=1 coverage
+ # run the main test suite
+ - (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/pycopy_coverage ./run-tests)
+ - (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/pycopy_coverage ./run-tests -d thread)
+ - (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/pycopy_coverage ./run-tests --emit native)
+ - (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/pycopy_coverage ./run-tests --via-mpy --mpy-cross-flags='-mcache-lookup-bc -march=x86' -d basics float micropython)
+ - (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/pycopy_coverage ./run-tests --via-mpy --emit native --mpy-cross-flags='-mcache-lookup-bc -march=x86' -d basics float micropython)
+ # test when input script comes from stdin
+ - cat tests/basics/0prelim.py | ports/unix/pycopy_coverage | grep -q 'abc'
+ # test building native mpy modules
+ - make -C examples/natmod/features1 ARCH=x86
+ - make -C examples/natmod/features2 ARCH=x86
+ - make -C examples/natmod/btree ARCH=x86
+ - make -C examples/natmod/framebuf ARCH=x86
+ - make -C examples/natmod/uheapq ARCH=x86
+ - make -C examples/natmod/urandom ARCH=x86
+ - make -C examples/natmod/ure ARCH=x86
+ - make -C examples/natmod/uzlib ARCH=x86
+ # test importing .mpy generated by mpy_ld.py
+ - MICROPYPATH=examples/natmod/features2 ./ports/unix/pycopy_coverage -m features2
+ - (cd tests && ./run-natmodtests.py --arch x86 extmod/{btree*,framebuf*,uheapq*,ure*,uzlib*}.py)
+ after_failure:
+ - (cd tests && for exp in *.exp; do testbase=$(basename $exp .exp); echo -e "\nFAILURE $testbase"; diff -u $testbase.exp $testbase.out; done)
+
# standard unix port
- stage: test
env: NAME="unix port build and tests"
