9dac69c5ebf85c1d1683cb83e1da23b7222d727f
[valse.git] / test / run.sh
1 #!/bin/sh
2 set -e
3
4 #Testing procedure for EMGLLF (inside this folder):
5
6 algo=$1 #EMGLLF or EMGrank,
7 #second arg indicate if rebuild or rebuild+clean requested
8
9 if [ "$2" == 'c' ]; then
10 #0.1) Clean package + C testing code
11 find ../pkg/man/ -type f ! -name 'valse-package.Rd' -delete
12 rm -f ../pkg/NAMESPACE
13 # Erase object and library files
14 rm -f ../pkg/src/*.so
15 rm -f ../pkg/src/adapters/*.o
16 make cclean
17 fi
18
19 if [ "$2" == 'r' ] || [ "$2" == 'c' ]; then
20 #0.2) Install current version of the package (WARNING: roxygen 2 v5.0.1)
21 # --> devtools::install_github('klutometis/roxygen@v5.0.1')
22 echo "setwd('../pkg');library(roxygen2);roxygenize('.')" | R --slave
23 R CMD INSTALL ../pkg
24 fi
25
26 #1) Generate data using R versions of EMGLLF/EMGrank (slow, but trusted)
27 echo -e "source('generateRunSaveTest_$algo.R');\n \
28 # I'm happy with default values - feel free to give args\n \
29 generateRunSaveTest_$algo() " \
30 | R --slave
31
32 #2) Compile test C code into an executable named "test.$algo"
33 make test.$algo
34
35 #3) Run it with valgrind!
36 #valgrind
37 ./test.$algo