#!/bin/bash # # This script check that changes don't lead to code size regressions. # (Size of the language core (== minimal port should not grow)). # global REFERENCE := "$HOME/persist/firmware.bin" #REFERENCE=/tmp/micropython #TRAVIS_PULL_REQUEST=false if test -f $REFERENCE { global size_old := $[stat -c%s $REFERENCE] global size_new := $[stat -c%s minimal/build/firmware.bin] echo "Old size: $size_old new size: $size_new" if test $size_new -gt $size_old { echo "Validation failure: Core code size increased" if test $TRAVIS_PULL_REQUEST != "false" { exit 1 } } } else { echo "Warning: reference file doesn't exist, code size check didn't run" } (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REFERENCE) op: Equal rhs: {($ VSub_Name "$HOME") (/persist/firmware.bin)} spids: [16] ) ] spids: [16] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-f)} {($ VSub_Name "$REFERENCE")} {(Lit_Other "]")}) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:size_old) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(stat)} {(-c) (Lit_Other "%") (s)} {($ VSub_Name "$REFERENCE")}) ] ) left_token: spids: [42 50] ) } spids: [41] ) ] spids: [41] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:size_new) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(stat)} {(-c) (Lit_Other "%") (s)} {(minimal/build/firmware.bin)}) ] ) left_token: spids: [54 62] ) } spids: [53] ) ] spids: [53] ) (C {(echo)} { (DQ ("Old size: ") ($ VSub_Name "$size_old") (" new size: ") ($ VSub_Name "$size_new")) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_Name "$size_new")} {(-gt)} {($ VSub_Name "$size_old")} {(Lit_Other "]")} ) terminator: ) ] action: [ (C {(echo)} {(DQ ("Validation failure: Core code size increased"))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$TRAVIS_PULL_REQUEST"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ (false))} {(Lit_Other "]")} ) terminator: ) ] action: [(C {(exit)} {(1)})] spids: [-1 116] ) ] spids: [-1 124] ) ] spids: [-1 88] ) ] spids: [-1 127] ) ] spids: [-1 38] ) ] else_action: [ (C {(echo)} {(DQ ("Warning: reference file doesn't exist, code size check didn't run"))}) ] spids: [129 138] ) ] )