| 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 | # Erase object and library files |
| 13 | rm -f ../pkg/src/*.so |
| 14 | rm -f ../pkg/src/adapters/*.o |
| 15 | make cclean |
| 16 | fi |
| 17 | |
| 18 | if [ "$2" == 'r' ] || [ "$2" == 'c' ]; then |
| 19 | #0.2) Install current version of the package (WARNING: roxygen 2 v5.0.1) |
| 20 | # --> devtools::install_github('klutometis/roxygen@v5.0.1') |
| 21 | echo "setwd('../pkg');library(roxygen2);roxygenize('.')" | R --slave |
| 22 | R CMD INSTALL ../pkg |
| 23 | fi |
| 24 | |
| 25 | #1) Generate data using R versions of EMGLLF/EMGrank (slow, but trusted) |
| 26 | echo -e "source('generateRunSaveTest_$algo.R');\n \ |
| 27 | # I'm happy with default values - feel free to give args\n \ |
| 28 | generateRunSaveTest_$algo() " \ |
| 29 | | R --slave |
| 30 | |
| 31 | #2) Compile test C code into an executable named "test.$algo" |
| 32 | make test.$algo |
| 33 | |
| 34 | #3) Run it with valgrind! |
| 35 | #valgrind |
| 36 | ./test.$algo |