@@ -6,6 +6,7 @@ custom_testfiles=()
66max_iter=10
77site_pkgs=$( python -c ' import site; print(site.getsitepackages()[0])' )
88# Parse command line arguments
9+ fcoveragerc=" "
910for var in " $@ "
1011do
1112 if [[ $var == " unit" ]]; then
@@ -138,67 +139,74 @@ check_ray()
138139 fi
139140}
140141
141- init_coveragerc ()
142+ gen_coveragerc_boilerplate ()
142143{
143- if [ ! -f .coveragerc_optional ]; then
144- echo " [report]" > .coveragerc_optional
145- echo " ; Regexes for lines to exclude from consideration" >> .coveragerc_optional
146- echo " exclude_also =" >> .coveragerc_optional
144+ # Check if file does not exist OR file is empty
145+ if [[ ! -e .coveragerc_override ]] || [[ ! -s .coveragerc_override ]]; then
146+ echo " [report]" > .coveragerc_override
147+ echo " ; Regexes for lines to exclude from consideration" >> .coveragerc_override
148+ echo " exclude_also =" >> .coveragerc_override
147149 fi
148150}
149151
150152gen_ray_coveragerc ()
151153{
152- # Generate a .coveragerc_ray file that excludes Ray functions and tests
153- # echo "[report]" > .coveragerc_ray
154- init_coveragerc
155-
156- echo " def .*_ray_*" >> .coveragerc_optional
157- echo " def .*_ray\(*" >> .coveragerc_optional
158- echo " def ray_.*" >> .coveragerc_optional
159- echo " def test_.*_ray*" >> .coveragerc_optional
154+ # Generate a .coveragerc_override file that excludes Ray functions and tests
155+ gen_coveragerc_boilerplate
156+ echo " def .*_ray_*" >> .coveragerc_override
157+ echo " def .*_ray\(*" >> .coveragerc_override
158+ echo " def ray_.*" >> .coveragerc_override
159+ echo " def test_.*_ray*" >> .coveragerc_override
160160}
161161
162- has_fftw_pyfftw ()
162+ check_fftw_pyfftw ()
163163{
164- command -v fftw-wisdom & > /dev/null \
165- && python -c " import pyfftw" & > /dev/null
164+ if ! command -v fftw-wisdom & > /dev/null \
165+ || ! python -c " import pyfftw" & > /dev/null;
166+ then
167+ echo " FFTW and/or pyFFTW Not Installed"
168+ else
169+ echo " FFTW and pyFFTW Installed"
170+ fi
166171}
167172
168173gen_pyfftw_coveragerc ()
169174{
170- init_coveragerc
171- echo " class .*_PYFFTW*" >> .coveragerc_optional
172- echo " def test_.*_pyfftw*" >> .coveragerc_optional
175+ gen_coveragerc_boilerplate
176+ echo " class .*_PYFFTW*" >> .coveragerc_override
177+ echo " def test_.*_pyfftw*" >> .coveragerc_override
173178}
174179
175180
176- set_optional_coveragerc ()
181+ set_coveragerc ()
177182{
178183 fcoveragerc=" "
179184
180- if ! command -v ray & > /dev/null; then
185+ if ! command -v ray & > /dev/null;
186+ then
181187 echo " Ray not installed"
182188 gen_ray_coveragerc
183189 else
184190 echo " Ray installed"
185191 fi
186192
187- if ! has_fftw_pyfftw; then
188- echo " pyFFTW / FFTW not available"
193+ if ! command -v fftw-wisdom & > /dev/null \
194+ || ! python -c " import pyfftw" & > /dev/null;
195+ then
196+ echo " FFTW and/or pyFFTW not available"
189197 gen_pyfftw_coveragerc
190198 else
191199 echo " pyFFTW available"
192200 fi
193201
194- if [ -f .coveragerc_optional ]; then
195- fcoveragerc=" --rcfile=.coveragerc_optional "
202+ if [ -f .coveragerc_override ]; then
203+ fcoveragerc=" --rcfile=.coveragerc_override "
196204 fi
197205}
198206
199207show_coverage_report ()
200208{
201- set_optional_coveragerc
209+ set_coveragerc
202210 coverage report --show-missing --fail-under=100 --skip-covered --omit=fastmath.py,docstring.py,versions.py $fcoveragerc
203211 check_errs $?
204212}
@@ -350,7 +358,7 @@ clean_up()
350358 rm -rf " tests/__pycache__/"
351359 rm -rf build dist stumpy.egg-info __pycache__
352360 rm -f docs/* .nbconvert.ipynb
353- rm -rf " .coveragerc_ray "
361+ rm -rf " .coveragerc_override "
354362 if [ -d " $site_pkgs /stumpy/__pycache__" ]; then
355363 rm -rf $site_pkgs /stumpy/__pycache__/* nb*
356364 fi
@@ -385,6 +393,7 @@ check_print
385393check_pkg_imports
386394check_naive
387395check_ray
396+ check_fftw_pyfftw
388397
389398
390399if [[ -z $NUMBA_DISABLE_JIT || $NUMBA_DISABLE_JIT -eq 0 ]]; then
0 commit comments