mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-25 20:02:37 +03:00
Check that building the eboot.c block generates the same binary as the verison checked into the repo. Catches the case where a library or eboot.c file is changed, but an updated eboot.elf isn't included in a PR. Can't do simple binary diff of the ELFs because paths and compile times will change, so dump the two sections we care about.
22 lines
496 B
Bash
22 lines
496 B
Bash
#!/bin/bash
|
|
|
|
READELF="$TRAVIS_BUILD_DIR/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-readelf"
|
|
|
|
set -ev
|
|
|
|
cd $TRAVIS_BUILD_DIR/tools
|
|
python3 get.py -q
|
|
|
|
cd $TRAVIS_BUILD_DIR/bootloaders/eboot
|
|
|
|
"$READELF" -x .data -x .text eboot.elf > git.txt
|
|
make clean
|
|
make
|
|
"$READELF" -x .data -x .text eboot.elf > build.txt
|
|
diff git.txt build.txt
|
|
if [ $? -ne 0 ]; then
|
|
echo ERROR: eboot.elf in repo does not match output from compile.
|
|
echo ERROR: Need to rebuild and check in updated eboot.
|
|
exit 1
|
|
fi
|