Statistics
| Branch: | Tag: | Revision:

root / run_tests.sh.in @ 18b277b5

History | View | Annotate | Download (3.6 kB)

1 6b5a0200 jcorgan
#!/bin/sh
2 6b5a0200 jcorgan
3 6b5a0200 jcorgan
# First argument is absolute path to top of component source directory
4 6b5a0200 jcorgan
# Second argument is absolute path to top of component build directory
5 6b5a0200 jcorgan
# Third argument is component source directory for qa tests
6 6b5a0200 jcorgan
7 42d9c6f4 jcorgan
# Absolute path to the top of the source directory
8 42d9c6f4 jcorgan
abs_top_srcdir=@abs_top_srcdir@
9 42d9c6f4 jcorgan
10 42d9c6f4 jcorgan
# Absolute path to the top of the build directory
11 42d9c6f4 jcorgan
abs_top_builddir=@abs_top_builddir@
12 42d9c6f4 jcorgan
13 9905fe27 michaelld
# current QA srcdir
14 9905fe27 michaelld
export srcdir=$3
15 9905fe27 michaelld
16 6b5a0200 jcorgan
# Where to find my swig generated shared library
17 6b5a0200 jcorgan
mylibdir=$2/src:$2/src/.libs:$2/src/lib:$2/src/lib/.libs
18 6b5a0200 jcorgan
19 6b5a0200 jcorgan
# Where to find my swig generated python module
20 6b5a0200 jcorgan
mysrcdir=$1/src:$1/src/lib
21 6b5a0200 jcorgan
22 6b5a0200 jcorgan
# Where to find my hand written python modules
23 6b5a0200 jcorgan
mypydir=$1/src:$1/src/python
24 6b5a0200 jcorgan
25 42d9c6f4 jcorgan
# Where to find core's swig generated shared libraries,
26 42d9c6f4 jcorgan
# and hand generated swig glue
27 42d9c6f4 jcorgan
grswigdir=@gnuradio_core_SWIGDIRPATH@
28 cbe1628f eb
29 6b5a0200 jcorgan
# Where to find core's python modules
30 42d9c6f4 jcorgan
grpydir=@gnuradio_core_PYDIRPATH@
31 6b5a0200 jcorgan
32 42d9c6f4 jcorgan
# Construct search path for python modules, if each exists
33 42d9c6f4 jcorgan
for dir in $grswigdir $grpydir
34 42d9c6f4 jcorgan
do
35 42d9c6f4 jcorgan
    if [ "$dir" != "" ]
36 42d9c6f4 jcorgan
    then
37 42d9c6f4 jcorgan
	if [ "$PYTHONPATH" = "" ]
38 42d9c6f4 jcorgan
	then
39 42d9c6f4 jcorgan
	    PYTHONPATH="$dir"
40 42d9c6f4 jcorgan
	else
41 42d9c6f4 jcorgan
	    PYTHONPATH="$dir:$PYTHONPATH"
42 42d9c6f4 jcorgan
	fi
43 42d9c6f4 jcorgan
    fi
44 42d9c6f4 jcorgan
done
45 42d9c6f4 jcorgan
46 42d9c6f4 jcorgan
# Where to find pre-installed python modules
47 42d9c6f4 jcorgan
withpydirs=@with_PYDIRPATH@
48 42d9c6f4 jcorgan
49 42d9c6f4 jcorgan
# Add the 'with' dirs to the end of the python search path, if it exists
50 42d9c6f4 jcorgan
if [ "$withpydirs" != "" ]
51 42d9c6f4 jcorgan
then
52 42d9c6f4 jcorgan
    PYTHONPATH="$PYTHONPATH:$withpydirs"
53 42d9c6f4 jcorgan
fi
54 42d9c6f4 jcorgan
55 42d9c6f4 jcorgan
# Add the "my" dirs to the absolute front of the python search path
56 42d9c6f4 jcorgan
PYTHONPATH="$mylibdir:$mysrcdir:$mypydir:$PYTHONPATH"
57 ae5e798e jcorgan
export PYTHONPATH
58 ae5e798e jcorgan
59 42d9c6f4 jcorgan
# Where to find omnithread library files
60 42d9c6f4 jcorgan
gromnidir=@omnithread_LIBDIRPATH@
61 6b5a0200 jcorgan
62 4f2edd5d eb
# Where to find gruel library files
63 4f2edd5d eb
grueldir=@gruel_LIBDIRPATH@
64 4f2edd5d eb
65 42d9c6f4 jcorgan
# Where to find gnuradio core's library files
66 42d9c6f4 jcorgan
grcoredir=@gnuradio_core_LIBDIRPATH@
67 42d9c6f4 jcorgan
68 42d9c6f4 jcorgan
# Construct search path for python modules
69 42d9c6f4 jcorgan
# Check each one to make sure it's not "" before adding
70 42d9c6f4 jcorgan
grlibdir=""
71 4f2edd5d eb
for dir in $gromnidir $grcoredir $grueldir
72 42d9c6f4 jcorgan
do
73 42d9c6f4 jcorgan
    if [ "$dir" != "" ]
74 42d9c6f4 jcorgan
    then
75 42d9c6f4 jcorgan
	if [ "$grlibdir" = "" ]
76 42d9c6f4 jcorgan
	then
77 42d9c6f4 jcorgan
	    grlibdir="$dir"
78 42d9c6f4 jcorgan
	else
79 42d9c6f4 jcorgan
	    grlibdir="$dir:$grlibdir"
80 42d9c6f4 jcorgan
	fi
81 42d9c6f4 jcorgan
    fi
82 42d9c6f4 jcorgan
done
83 42d9c6f4 jcorgan
84 776da31e michaelld
# Add 'mylibdir' to the start of the library load path, to get local
85 776da31e michaelld
# (to this component) created libraries
86 6b5a0200 jcorgan
87 42d9c6f4 jcorgan
# Where to find pre-installed libraries
88 42d9c6f4 jcorgan
withlibdirs=@with_LIBDIRPATH@
89 42d9c6f4 jcorgan
90 776da31e michaelld
case "@host_os@" in
91 776da31e michaelld
  darwin*)
92 776da31e michaelld
    # Special Code for executing on Darwin / Mac OS X only
93 42d9c6f4 jcorgan
    if [ "$DYLD_LIBRARY_PATH" = "" ]
94 42d9c6f4 jcorgan
    then
95 776da31e michaelld
	DYLD_LIBRARY_PATH=$mylibdir
96 42d9c6f4 jcorgan
    else
97 776da31e michaelld
	DYLD_LIBRARY_PATH=$mylibdir:$DYLD_LIBRARY_PATH
98 776da31e michaelld
    fi
99 776da31e michaelld
    # DYLD_LIBRARY_PATH will not be empty now
100 776da31e michaelld
    # Add the grlibdir paths to the front of any library load variable
101 776da31e michaelld
    if [ "$grlibdir" != "" ]
102 776da31e michaelld
    then
103 776da31e michaelld
	DYLD_LIBRARY_PATH=$grlibdir:$DYLD_LIBRARY_PATH
104 776da31e michaelld
    fi
105 776da31e michaelld
    # Add the withdirs paths to the end of any library load variable
106 776da31e michaelld
    if [ "$withlibdirs" != "" ]
107 776da31e michaelld
    then
108 42d9c6f4 jcorgan
	DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$withlibdirs
109 42d9c6f4 jcorgan
    fi
110 776da31e michaelld
    export DYLD_LIBRARY_PATH
111 776da31e michaelld
    ;;
112 776da31e michaelld
  cygwin*|win*|mingw*)
113 776da31e michaelld
    # Special Code for executing on Win32 variants only
114 42d9c6f4 jcorgan
    if [ "$PATH" = "" ]
115 42d9c6f4 jcorgan
    then
116 776da31e michaelld
	PATH=$mylibdir
117 42d9c6f4 jcorgan
    else
118 776da31e michaelld
	PATH=$mylibdir:$PATH
119 776da31e michaelld
    fi
120 776da31e michaelld
    # PATH will not be empty now
121 776da31e michaelld
    # Add the grlibdir paths to the front of any library load variable
122 776da31e michaelld
    if [ "$grlibdir" != "" ]
123 776da31e michaelld
    then
124 776da31e michaelld
	PATH=$grlibdir:$PATH
125 776da31e michaelld
    fi
126 776da31e michaelld
    # Add the withdirs paths to the end of any library load variable
127 776da31e michaelld
    if [ "$withlibdirs" != "" ]
128 776da31e michaelld
    then
129 42d9c6f4 jcorgan
	PATH=$PATH:$withlibdirs
130 42d9c6f4 jcorgan
    fi
131 776da31e michaelld
    export PATH
132 776da31e michaelld
    ;;
133 776da31e michaelld
esac
134 ef47957b jcorgan
135 6b5a0200 jcorgan
# Don't load user or system prefs
136 6b5a0200 jcorgan
GR_DONT_LOAD_PREFS=1
137 6b5a0200 jcorgan
export GR_DONT_LOAD_PREFS
138 6b5a0200 jcorgan
139 6b5a0200 jcorgan
# Run everything that matches qa_*.py and return the final result.
140 6b5a0200 jcorgan
141 6b5a0200 jcorgan
ok=yes
142 6b5a0200 jcorgan
for file in $3/qa_*.py
143 6b5a0200 jcorgan
do
144 2c8ea58e eb
  # echo $file
145 2c8ea58e eb
  @PYTHON@ $file
146 2c8ea58e eb
  r=$?
147 2c8ea58e eb
  if [ $r -ne 0 ]
148 6b5a0200 jcorgan
  then
149 2c8ea58e eb
    if [ $r -ge 128 ]		# killed by a signal
150 2c8ea58e eb
    then
151 2c8ea58e eb
      exit $r
152 2c8ea58e eb
    fi
153 6b5a0200 jcorgan
    ok=no
154 6b5a0200 jcorgan
  fi  
155 6b5a0200 jcorgan
done
156 6b5a0200 jcorgan
157 6b5a0200 jcorgan
if [ $ok = yes ]
158 6b5a0200 jcorgan
then
159 6b5a0200 jcorgan
  exit 0
160 6b5a0200 jcorgan
else
161 6b5a0200 jcorgan
  exit 1
162 6b5a0200 jcorgan
fi