#!/bin/bash

IN="$1"
if [[ "$IN" == *.zip ]]
then
    extract="7z x -y $IN"
    dir=$(basename "$IN" .zip)
else
    extract="tar xzf $IN"
    dir=$(basename "$IN" .tar.gz)
fi


echo "Making sure the release $(basename "$IN") works..."
mkdir -p $STORM_ROOT/release/$dir
cd $STORM_ROOT/release/$dir

echo "Extracting..."
$extract > /dev/null

echo "Launching REPL..."
echo "exit" | ./storm > /dev/null
if [[ $? -ne 0 ]]
then
    echo "Failed to launch the REPL. Something is bad! Test in release/storm"
    exit 1
fi

echo "Running basic tests..."
./storm -c 'tests:bf:inlineBf' > output.txt
if [[ $? -ne 0 ]]
then
    echo "Failed to execute BS code. Test in release/storm"
    exit 1
fi

grep "1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89" output.txt > /dev/null
if [[ $? -ne 0 ]]
then
    echo "Failed to execute BS code. Test in release/storm"
    exit 1
fi

echo "Cleaning up..."
cd $STORM_ROOT
rm -r $STORM_ROOT/release/$dir
echo "Done!"
