@@ -160,6 +160,10 @@ cleanup() {
160160    [ !  -z  " $_exit_after_cleanup "   ] &&  exit 
161161}
162162
163+ _sanitize_configs () {
164+     echo  " $1 "   |  sed ' s/[^a-zA-Z0-9_-.:/]//g' 
165+ }
166+ 
163167load_configs () {
164168    #  This script needs to know where the "BENCHMARKING_ROOT" directory is,
165169    #  containing all the configuration files and the compare script.
@@ -180,7 +184,45 @@ load_configs() {
180184        fi 
181185    done 
182186
183-     .  $BENCHMARK_CI_CONFIG 
187+     #  Strict loading of configuration options:
188+     while  IFS=' ='   read  -r key value;  do 
189+         sanitized_value=$( _sanitize_configs " $value " ) 
190+         case  " $key "   in 
191+             ' PERF_RES_GIT_REPO'  ) export  PERF_RES_GIT_REPO=" $sanitized_value "   ;;
192+             ' PERF_RES_BRANCH'  ) export  PERF_RES_BRANCH=" $sanitized_value "   ;;
193+             ' PERF_RES_PATH'  ) export  PERF_RES_PATH=" $sanitized_value "   ;;
194+             ' COMPUTE_BENCH_GIT_REPO'  ) export  COMPUTE_BENCH_GIT_REPO=" $sanitized_value "   ;;
195+             ' COMPUTE_BENCH_BRANCH'  ) export  COMPUTE_BENCH_BRANCH=" $sanitized_value "   ;;
196+             ' COMPUTE_BENCH_PATH'  ) export  COMPUTE_BENCH_PATH=" $sanitized_value "   ;;
197+             ' COMPUTE_BENCH_COMPILE_FLAGS'  ) export  COMPUTE_BENCH_COMPILE_FLAGS=" $sanitized_value "   ;;
198+             ' OUTPUT_PATH'  ) export  OUTPUT_PATH=" $sanitized_value "   ;;
199+             #  'METRICS_VARIANCE') export METRICS_VARIANCE="$sanitized_value" ;;
200+             #  'METRICS_RECORDED') export METRICS_RECORDED="$sanitized_value" ;;
201+             ' AVERAGE_THRESHOLD'  ) export  AVERAGE_THRESHOLD=" $sanitized_value "   ;;
202+             ' AVERAGE_CUTOFF_RANGE'  ) export  AVERAGE_CUTOFF_RANGE=" $sanitized_value "   ;;
203+             ' TIMESTAMP_FORMAT'  ) export  TIMESTAMP_FORMAT=" $sanitized_value "   ;;
204+             ' BENCHMARK_SLOW_LOG'  ) export  BENCHMARK_SLOW_LOG=" $sanitized_value "   ;;
205+             ' BENCHMARK_ERROR_LOG'  ) export  BENCHMARK_ERROR_LOG=" $sanitized_value "   ;;
206+             * ) echo  " Unknown key: $sanitized_key "   ;;
207+         esac 
208+     done  <  " $BENCHMARK_CI_CONFIG " 
209+ 
210+     #  Debug
211+     echo  " PERF_RES_GIT_REPO: $PERF_RES_GIT_REPO " 
212+     echo  " PERF_RES_BRANCH: $PERF_RES_BRANCH " 
213+     echo  " PERF_RES_PATH: $PERF_RES_PATH " 
214+     echo  " COMPUTE_BENCH_GIT_REPO: $COMPUTE_BENCH_GIT_REPO " 
215+     echo  " COMPUTE_BENCH_BRANCH: $COMPUTE_BENCH_BRANCH " 
216+     echo  " COMPUTE_BENCH_PATH: $COMPUTE_BENCH_PATH " 
217+     echo  " COMPUTE_BENCH_COMPILE_FLAGS: $COMPUTE_BENCH_COMPILE_FLAGS " 
218+     echo  " OUTPUT_PATH: $OUTPUT_PATH " 
219+     echo  " METRICS_VARIANCE: $METRICS_VARIANCE " 
220+     echo  " METRICS_RECORDED: $METRICS_RECORDED " 
221+     echo  " AVERAGE_THRESHOLD: $AVERAGE_THRESHOLD " 
222+     echo  " AVERAGE_CUTOFF_RANGE: $AVERAGE_CUTOFF_RANGE " 
223+     echo  " TIMESTAMP_FORMAT: $TIMESTAMP_FORMAT " 
224+     echo  " BENCHMARK_SLOW_LOG: $BENCHMARK_SLOW_LOG " 
225+     echo  " BENCHMARK_ERROR_LOG: $BENCHMARK_ERROR_LOG " 
184226}
185227
186228load_configs
0 commit comments