# Copyright 2013 Samsung Information Systems America, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Author: Koushik Sen


DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export JALANGI_HOME=$DIR/..
rm -rf jalangi_tmp
mkdir jalangi_tmp
cd jalangi_tmp

if [ "$USE_NODE_COVER" == "true" ]
then
    if [ "$USE_TIME" == "true" ]
    then
        export CMD='time cover run '
    else
        export CMD='cover run '
    fi
    cp ../.coverignore .
    mv ../.coverage_data .
else
    if [ "$USE_TIME" == "true" ]
    then
        export CMD='time node '
    else
        export CMD='node '
    fi
fi

echo $CMD


echo --------------- Instrumenting $2.js --------------
$CMD $JALANGI_HOME/src/js/instrument/esnstrument.js ../$2.js

touch inputs.js

echo --------------- Recording execution of $JALANGI_HOME/$2.js ---------------
rm jalangi_trace 2> /dev/null
export JALANGI_MODE=record
export JALANGI_ANALYSIS=none
$CMD ../$2_jalangi_.js

echo --------------- Replaying $JALANGI_HOME/$2.js with $1---------------
export JALANGI_MODE=replay
export JALANGI_ANALYSIS=$1
$CMD $JALANGI_HOME/src/js/commands/replay.js

if [ "$USE_NODE_COVER" == "true" ]
then
    mv .coverage_data ..
fi

