Commit ae81dda7 by lwc-tester

compile all and process zip updated

parent 26c47244
...@@ -6,7 +6,6 @@ import stat ...@@ -6,7 +6,6 @@ import stat
import argparse import argparse
import shutil import shutil
import subprocess import subprocess
import shutil
def build(algo_dir, template_dir, build_dir): def build(algo_dir, template_dir, build_dir):
...@@ -54,18 +53,16 @@ def build(algo_dir, template_dir, build_dir): ...@@ -54,18 +53,16 @@ def build(algo_dir, template_dir, build_dir):
os.chdir(build_dir) os.chdir(build_dir)
try: try:
if os.path.isfile('./configure'): if os.path.isfile('./configure'):
p = subprocess.Popen(["./configure"]) subprocess.check_call(["./configure"])
p.wait()
assert p.returncode == 0
p = subprocess.Popen(['make']) stdout_path = 'make.stdout.log'
p.wait() stderr_path = 'make.stderr.log'
assert p.returncode == 0 with open(stdout_path, 'w') as outfile, \
open(stderr_path, 'w') as errfile:
subprocess.check_call(['make'], stdout=outfile, stderr=errfile)
if os.path.isfile('./cleanup'): if os.path.isfile('./cleanup'):
p = subprocess.Popen(["./cleanup"]) subprocess.check_call(["./cleanup"])
p.wait()
assert p.returncode == 0
finally: finally:
sys.stdout.flush() sys.stdout.flush()
...@@ -101,7 +98,7 @@ def main(argv): ...@@ -101,7 +98,7 @@ def main(argv):
# Parse the arguments # Parse the arguments
argparser = argparse.ArgumentParser( argparser = argparse.ArgumentParser(
description='Compiles all LWC submissions for a given template') description='Compiles all LWC submissions for a given template')
argparser.add_argument('-v', '--verbose', action='count') argparser.add_argument('-v', '--verbose', action='count')
argparser.add_argument('-t', '--template', default='templates/linux') argparser.add_argument('-t', '--template', default='templates/linux')
...@@ -206,7 +203,6 @@ def main(argv): ...@@ -206,7 +203,6 @@ def main(argv):
os.path.join(b, 'test_stdout.log')) os.path.join(b, 'test_stdout.log'))
) )
shutil.copyfile(t, os.path.join(b, 'LWC_AEAD_KAT.txt')) shutil.copyfile(t, os.path.join(b, 'LWC_AEAD_KAT.txt'))
print("COMPILATION SUCCESS FOR %s" % d) print("COMPILATION SUCCESS FOR %s" % d)
except Exception as ex: except Exception as ex:
......
...@@ -5,47 +5,76 @@ shopt -s extglob ...@@ -5,47 +5,76 @@ shopt -s extglob
function run() { function run() {
TEMPLATE="$1" TEMPLATE="$1"
MAINDIR="$2" DESTDIR="$2"
echo "Template is $TEMPLATE, main directory is $MAINDIR" if [[ ! -d "templates/$TEMPLATE" ]]; then
echo "Template '$TEMPLATE' does not exist"
mkdir -p $MAINDIR/$TEMPLATE exit 1
./compile_all.py -t templates/$TEMPLATE -b $MAINDIR/$TEMPLATE fi
if [[ -e "$DESTDIR" ]]; then
echo "Destination directory '$DESTDIR' already exists"
exit 1
fi
TMPDIR=$(mktemp -d -t build-XXXXXXXXXX)
if [[ ! -d "$TMPDIR" ]]; then
echo "Failed to create a temporary build directory"
exit 1
fi
echo "Template is '$TEMPLATE', destination directory is '$DESTDIR', temporary directory is '$TMPDIR'"
mkdir -p $DESTDIR
echo "Compiling for template '$TEMPLATE' in directory '$TMPDIR'"
./compile_all.py -t "templates/$TEMPLATE" -b "$TMPDIR"
for cipher in $MAINDIR/$TEMPLATE/*; do for cipher in $TMPDIR/*; do
CIPHER_SLUG=$(basename $cipher)
if [[ ! -d $cipher ]]; then continue; fi
mkdir -p $DESTDIR/$CIPHER_SLUG || exit 1
mv $cipher/*.log $DESTDIR/$CIPHER_SLUG/
case $TEMPLATE in case $TEMPLATE in
f7) mv $cipher/build/f7.bin $cipher/firmware.bin f7) mv $cipher/build/f7.* $DESTDIR/$CIPHER_SLUG/
;; ;;
maixduino) mv $cipher/.pio/build/sipeed-maixduino/firmware.bin $cipher/firmware.bin maixduino) mv $cipher/.pio/build/sipeed-maixduino/firmware.* $DESTDIR/$CIPHER_SLUG/
;; ;;
bluepill) mv $cipher/.pio/build/bluepill_f103c8/firmware.bin $cipher/firmware.bin bluepill) mv $cipher/.pio/build/bluepill_f103c8/firmware.* $DESTDIR/$CIPHER_SLUG/
;; ;;
uno) mv $cipher/.pio/build/uno/firmware.hex $cipher/firmware.bin uno) mv $cipher/.pio/build/uno/firmware.* $DESTDIR/$CIPHER_SLUG/
;; ;;
esp32) mv $cipher/.pio/build/esp32dev/firmware.bin $cipher/firmware.bin esp32) mv $cipher/.pio/build/esp32dev/firmware.* $DESTDIR/$CIPHER_SLUG/
;; ;;
esac esac
rm -r $(find $cipher ! -wholename $cipher ! -name "firmware.*" ! -name "LWC_AEAD_KAT.txt")
done done
rm -rf "$TMPDIR"
} }
if [[ $1 == "run" ]]; then if [[ $1 == "run" ]]; then
run $2 $3 run $2 $3
else else
ZIP_PATH="$1"
if [[ ! -f $ZIP_PATH ]]; then
echo "Error: '$ZIP_PATH' is not a zip file"
exit 1
fi
MAINDIR=email-submissions/$(date +%Y-%m-%d-%H:%M) MAINDIR=email-submissions/$(date +%Y-%m-%d-%H:%M)
mkdir -p $MAINDIR mkdir -p $MAINDIR
unzip $1 -d all-lwc-submission-files unzip $ZIP_PATH -d all-lwc-submission-files
for i in templates/*; do for i in templates/*; do
TEMPLATE="${i##*/}" TEMPLATE="${i##*/}"
echo "Template is $TEMPLATE" echo "Template is $TEMPLATE"
touch $MAINDIR/locky.lock touch $MAINDIR/locky.lock
flock $MAINDIR/locky.lock $0 run $TEMPLATE $MAINDIR flock $MAINDIR/locky.lock $0 run $TEMPLATE $MAINDIR/$TEMPLATE
done done
fi fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment