}
advice_to_squeeze_idle_cpu () {
- local idle=$(top -b -d 0.1 -n 2 | grep 'Cpu(s):'| tail -1 | awk '{print $8}' | sed 's/,/./')
+ local idle=$(top -b -d 1 -n 2 | grep 'Cpu(s):'| tail -1 | awk '{print $8}' | sed 's/,/./')
sleep 10
echo
echo "Idle cpu now: $idle. Check the system CPU with top. If is not overcommited, consider"
#CLONE_GROUPS=1
specific=
[ -f $TESTCASE_DIR/specific ] && specific=specific
-
+
count=0
while read -r line
do
wait $(jobs -p)
count=0
fi
-
+
done < $PROGRAM_LAYOUT_FILE
# Advice for idle cpu:
advice_to_squeeze_idle_cpu
-
+
# Wait background jobs to finish:
sleep 5
echo "Waiting for clone completion ..."
echo
echo "Background Jobs: $(jobs -p | wc -l)"
wait $(jobs -p)
-
+
echo
echo "Programming has finished !"
echo
-
+
if [ -n "$specific" ]
then
echo "A new file '$TESTCASE_DIR/specific.all' has been created."
# dynamic programming #################################################################
else
- TESTCASE_DIR=$(readlink -f dynlibs/liblauncher_procedure_default_shared.so | xargs dirname)
+ TESTCASE_DIR=$(readlink -f dynlibs/libanna_launcher_procedure_default_shared.so | xargs dirname)
DYNAMIC_SUFFIX_FILE=$TESTCASE_DIR/dynamic.suffix
- [ ! -f $DYNAMIC_SUFFIX_FILE ] && _exit "Missing '$DYNAMIC_SUFFIX_FILE' file.\nUse 'dynlibs/select.sh' to change the dynamic procedure and restart the ADML instances."
+ [ ! -f $DYNAMIC_SUFFIX_FILE ] && _exit "Missing '$DYNAMIC_SUFFIX_FILE' file.\nUse 'dynlibs/select.sh' to change the dynamic procedure and very important: RESTART the ADML instances."
dynamic_suffix=( $(grep -v ^# $DYNAMIC_SUFFIX_FILE) )
# Multiple scenarios:
echo
read dynamic_suffix
while [ -z "$dynamic_suffix" ]; do read dynamic_suffix ; done
+ timeout=$(echo $dynamic_suffix | cut -d\| -f1)
+ if [ "$timeout" = "0" ]
+ then
+ echo
+ echo "Zero-timeout will configure 'auto-reset' as 'hard' in order"
+ echo " to reset properly the test cases in further cycles ..."
+ ./operation.sh "test|auto-reset|hard" >/dev/null
+ echo
+ echo "Press ENTER to continue ..."
+ read dummy
+ fi
fi
fi
ini_seq=$(echo $line | awk '{ print $2 }')
fin_seq=$(echo $line | awk '{ print $3 }')
ADML_DIR=`readlink -f ADMLS/ADML-$instance`
-
- cd $ADML_DIR
+
+ cd $ADML_DIR
./operation.sh -t 60 "dynamic|$ini_seq|$fin_seq|$dynamic_suffix" &
sleep 0.1
- count=$((count+1))
+ count=$((count+1))
if [ $count -eq $ADML_CONCURRENT_PROVISION_JOBS ]
then
wait $(jobs -p)
count=1
fi
- cd - >/dev/null
-
+ cd - >/dev/null
+
done < $PROGRAM_LAYOUT_FILE
# Advice for idle cpu:
echo
echo "Done !"
echo
-
+
start_testing=
if [ "$AUTOSTART" = "-s" ]
then
- Interactive-step execution: ADMLS/ADML-001/operation.sh "test|interact|<steps to execute>|<test id>"
- Summary: ADMLS/ADML-001/operation.sh "test|summary"
-For a complete and detailed information, execute: ./operation.sh --help | less
+Check 'HELP.md' for more information.
You could also use './launchCPS.sh' script.