#!/bin/sh

set -e
set -x

echo "First source all variables and THEN run this script"
read something




# Step 1..3: create code
# Step 4
cd $P4_PROJECT_DIR && make

# Step 5
cd $P4_PROJECT_DIR/nf_sume_sdnet_ip/SimpleSumeSwitch && ./vivado_sim.bash 2>&1 | tee LOG

expected_line=$(grep ^expected LOG | sed 's/.*= <//')
actual_line=$(grep ^actual LOG     | sed 's/.*= <//')


if [ "$expected_line" != "$actual_line" ]; then
    echo packet mismatch
    exit 1
fi

# Step 6
cd $P4_PROJECT_DIR && make config_writes

# Step 7
cd $P4_PROJECT_DIR && make uninstall_sdnet && make install_sdnet

# Step 8
cd $NF_DESIGN_DIR/test/sim_switch_default && make

# Step 9
cd $SUME_FOLDER && ./tools/scripts/nf_test.py sim --major switch --minor default

# Step 10: long compile step
if [ "$something" = no ]; then
    :
else
    cd $NF_DESIGN_DIR && make
fi

# Step 11: (nothing to be done)

# Step 12:
cd $NF_DESIGN_DIR/bitfiles
mv simple_sume_switch.bit ${P4_PROJECT_NAME}.bit
cp $P4_PROJECT_DIR/testdata/config_writes.sh ./

# Step 13:
cd $NF_DESIGN_DIR/bitfiles/
sudo bash -c ". $HOME/master-thesis/netpfga/bashinit && $(pwd -P)/program_switch.sh"
