#!/bin/sh
# Make sure that the unit tests compile and run

set -e

# This test requires a specific header
gcc -l cmph -I src -o cmph_benchmark_test tests/cmph_benchmark_test.c && ./cmph_benchmark_test && rm cmph_benchmark_test

# These tests requires the config.h generated from the config.h.in and a key file
cat << __EOF__ > keys.txt
aaaaaaaaaa
bbbbbbbbbb
cccccccccc
dddddddddd
eeeeeeeeee
ffffffffff
gggggggggg
hhhhhhhhhh
iiiiiiiiii
jjjjjjjjjj
__EOF__

# Generating the keys.txt.mph file
cmph -g keys.txt

for file in mphf packed_mphf ; do
    gcc -l cmph  -I ./ -o ${file} tests/${file}_tests.c \
        && ./${file} keys.txt \
        && rm ${file} ;
done
rm keys.txt keys.txt.mph


for file in compressed_rank compressed_seq graph select ; do
    gcc -l cmph  -o ${file} tests/${file}_tests.c \
        && ./${file} \
        && rm ${file} ;
done
