6 command -v "$@" > /dev/null 2>&1
9 progname=$(basename "${BASH_SOURCE[0]}")
12 nnpkg_run=${nnpkg_run:-"Product/out/bin/nnpackage_run"}
13 difftool=${difftool:-"h5diff"}
14 delete_dumped_on_failure=0
17 echo "Usage: $progname [options] nnpackage_test"
18 echo "Run an nnpackage testcase"
22 echo " non-zero failure"
25 echo " -h show this help"
26 echo " -i set input directory (default=$indir)"
27 echo " -o set output directory (default=$outdir)"
28 echo " -d delete dumped file on failure."
29 echo " (dumped file are always deleted on success) (default=$delete_dumped_on_failure)"
31 echo "Environment variables:"
32 echo " nnpackage_run path to nnpackage_run (default=Product/out/bin/nnpackage_run)"
33 echo " difftool path to i5diff or h5diff (default=h5diff)"
36 echo " $progname Add_000 => run $indir/Add_000 and check output"
37 echo " $progname -i nnpkg-tcs Add_000 => run nnpkg-tcs/Add_000 and check output"
42 echo "For help, type $progname -h"
46 while getopts "hdi:o:" OPTION; do
49 d) delete_dumped_on_failure=1;;
59 echo "error: wrong argument (no argument or too many arguments)."
60 echo "For help, type $progname -h"
64 if [ ! -e Product ]; then
65 echo "error: please make sure to run this script in nnfw home."
69 tcname=$(basename "$1")
70 nnpkg="$indir/$tcname"
74 if [ ! -e $nnpkg ]; then
75 echo "error: nnpackage "$nnpkg" does not exist."
79 if ! command_exists $nnpkg_run; then
80 echo "error: runner "$nnpkg_run" does not exist."
84 dumped="$outdir/$tcname".out.h5
86 echo -n "[ Run ] $nnpkg "
89 --nnpackage "$nnpkg" \
90 --load "$nnpkg/metadata/tc/input.h5" \
91 --dump "$dumped" >& /dev/null > "$dumped.log" 2>&1 ; then
105 if ! command_exists $difftool; then
106 echo "error: difftool "$difftool" does not exist."
110 expected="$nnpkg/metadata/tc/expected.h5"
112 echo -n "[Compare] $nnpkg "
114 if $difftool -d 0.001 -v "$dumped" "$expected" /value >& "$dumped.log"; then
116 rm "$dumped" "$dumped.log"
119 [ $delete_dumped_on_failure ] && rm "$dumped"