From f7aa692093f1f6b34fbf2e4ad0f8178b1c4ebedb Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Tue, 25 Oct 2016 11:07:29 +0300 Subject: [PATCH] tools/check_code_size.sh: Code size validation script for CI. --- tools/check_code_size.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 tools/check_code_size.sh diff --git a/tools/check_code_size.sh b/tools/check_code_size.sh new file mode 100755 index 0000000000..c5f0c6ffdd --- /dev/null +++ b/tools/check_code_size.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# +# This script check that changes don't lead to code size regressions. +# (Size of the language core (== minimal port should not grow)). +# + +REFERENCE=$HOME/persist/firmware.bin +#REFERENCE=/tmp/micropython +#TRAVIS_PULL_REQUEST=false + +if [ -f $REFERENCE ]; then + size_old=$(stat -c%s $REFERENCE) + size_new=$(stat -c%s minimal/build/firmware.bin) + echo "Old size: $size_old new size: $size_new" + if [ $size_new -gt $size_old ]; then + echo "Validation failure: Core code size increased" + if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then + exit 1 + fi + fi +else + echo "Warning: reference file doesn't exist, code size check didn't run" +fi