#!/bin/bash
SCRIPT_PATH=$(realpath "$0")
SCRIPT_DIR=$(dirname "$SCRIPT_PATH")
MAIN_DIR=$(dirname "$SCRIPT_DIR")
DATASET=humanevalx
GENERATION_MODE=completion
N_CPU_WORKERS=16
TIMEOUT=5
for l in python java js cpp go rust;
do
LANGUAGE=$l
echo "Evaluating $l"
DATA_DIR=$MAIN_DIR/benchmark/$DATASET/
DATA_PATH=$DATA_DIR/$DATASET\_$LANGUAGE.jsonl.gz
OUTPUT_PATH=$MAIN_DIR/output/$DATASET/$LANGUAGE
JOB_ID=sanity-check-$LANGUAGE
mkdir -p "$OUTPUT_PATH/$JOB_ID"
EVAL_INPUT_PATH=$DATA_PATH
EVAL_OUTPUT_PATH=$OUTPUT_PATH/$JOB_ID
if [ $LANGUAGE = rust ]; then
TIMEOUT=300
echo "Setting timeout to $TIMEOUT for Rust"
fi
RUN_CMD="python \
$MAIN_DIR/evaluation/evaluation.py \
--test_groundtruth=True \
--input_path $EVAL_INPUT_PATH \
--output_path $EVAL_OUTPUT_PATH \
--log-path $OUTPUT_PATH/$JOB_ID/$TODAY-evaluation.log \
--model_name $MODEL_NAME \
--language_type $LANGUAGE \
--dataset_type $DATASET \
--generation_mode $GENERATION_MODE \
--n_workers $N_CPU_WORKERS \
--tmp_dir $MAIN_DIR/benchmark/$DATASET/$LANGUAGE \
--problem_file $DATA_PATH \
--timeout $TIMEOUT"
eval "$RUN_CMD"
done