Skip to content

Commit

Permalink
add Makefiles
Browse files Browse the repository at this point in the history
  • Loading branch information
DennisHeimbigner committed Jan 27, 2024
1 parent c85e763 commit 05a2005
Show file tree
Hide file tree
Showing 2 changed files with 436 additions and 0 deletions.
281 changes: 281 additions & 0 deletions nczarr_test/Makefile.core
Original file line number Diff line number Diff line change
@@ -0,0 +1,281 @@
TESTS_ENVIRONMENT =
TEST_EXTENSIONS = .sh
#SH_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose
#sh_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose
#LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose
#TESTS_ENVIRONMENT += export SETX=1;

AM_CFLAGS += -I${top_srcdir}
AM_CPPFLAGS += -I${top_srcdir}
AM_CPPFLAGS += -I${top_srcdir}/libnczarr
AM_CPPFLAGS += -I${top_srcdir}/plugins
LDADD = ${top_builddir}/liblib/libnetcdf.la
AM_LDFLAGS += ${top_builddir}/liblib/libnetcdf.la
AM_CXXFLAGS =

testcommonsrc = test_utils.c test_utils.h
commonsrc = ut_util.c ut_test.c ut_includes.h ut_test.h ut_util.h test_nczarr_utils.h

check_PROGRAMS += ut_map ut_mapapi ut_json
ut_map_SOURCES = ut_map.c ${commonsrc}
ut_mapapi_SOURCES = ut_mapapi.c ${commonsrc}
ut_json_SOURCES = ut_json.c ${commonsrc}

test_fillonlyz_SOURCES = test_fillonlyz.c ${testcommonsrc}

check_PROGRAMS += test_fillonlyz test_quantize test_notzarr

# Unlimited Dimension tests
if USE_HDF5
test_put_vars_two_unlim_dim_SOURCES = test_put_vars_two_unlim_dim.c ${testcommonsrc}
check_PROGRAMS += test_zchunks test_zchunks2 test_zchunks3 test_unlim_vars test_put_vars_two_unlim_dim
check_PROGRAMS += test_unlim_io
test_unlim_io_SOURCES = test_unlim_io.c ${testcommonsrc}
TESTS += test_put_vars_two_unlim_dim
endif

if BUILD_UTILITIES

TESTS += run_ut_misc.sh
TESTS += run_ut_map.sh
TESTS += run_ut_mapapi.sh

if AX_DISABLE # Obsolete tests
TESTS += run_ut_chunk.sh
endif

TESTS += run_ncgen4.sh run_nan.sh

TESTS += run_quantize.sh
TESTS += run_purezarr.sh
TESTS += run_misc.sh
TESTS += run_jsonconvention.sh
TESTS += run_strings.sh
TESTS += run_scalar.sh
TESTS += run_nulls.sh
TESTS += run_notzarr.sh

# Unlimited Dimension tests (at least in part)
TESTS += run_mud.sh
TESTS += test_unlim_vars

if USE_HDF5
# Unlimited Dimension tests
check_PROGRAMS += test_chunking
TESTS += run_nccopy5.sh
endif

if USE_HDF5
TESTS += run_unlim_io.sh run_nccopyz.sh
endif

if LARGE_FILE_TESTS
check_PROGRAMS += test_writecaching test_readcaching
TESTS += run_cachetest.sh
endif

endif #BUILD_UTILITIES

if BUILD_UTILITIES

if ENABLE_NCZARR_ZIP
TESTS += run_newformat.sh
endif

if LARGE_FILE_TESTS
check_PROGRAMS += test_chunkcases
test_chunkcases_SOURCES = test_chunkcases.c ${testcommonsrc}
TESTS += run_chunkcases.sh
endif

check_PROGRAMS += test_endians
TESTS += test_endians

if USE_HDF5
TESTS += run_fillonlyz.sh
endif

if BUILD_BENCHMARKS

UTILSRC = bm_utils.c timer_utils.c test_utils.c bm_utils.h bm_timer.h

bm_chunks3_SOURCES = bm_chunks3.c ${UTILSRC}

check_PROGRAMS += bm_chunks3

# The perf tests need modernization
if AX_DISABLE
TESTS += run_perf_chunks1.sh
endif

endif # BUILD_BENCHMARKS

if ENABLE_NCZARR_FILTERS
if ENABLE_FILTER_TESTING

check_PROGRAMS += test_filter_avail test_filter_vlen
TESTS += run_filter_vlen.sh run_filter_misc.sh

# Do simple filter functionality tests for nczarr
check_PROGRAMS += test_nczfilter
TESTS += run_nczfilter.sh

# Echo filter tests from nc_test4
check_PROGRAMS += testfilter testfilter_misc testfilter_order testfilter_repeat testfilter_multi
TESTS += run_filter.sh
TESTS += run_specific_filters.sh

if AX_DISABLE
# This test is too dangerous to run in a parallel make environment.
# It causes race conditions. So suppress and only test by hand.
TESTS += run_unknown.sh
endif

if ISMINGW
XFAIL_TESTS = run_filter.sh run_specific_filters.sh run_nczfilter.sh
endif # ISMINGW

endif #ENABLE_FILTER_TESTING
endif #ENABLE_NCZARR_FILTERS

endif #BUILD_UTILITIES

# These programs are used by the test cases
noinst_PROGRAMS = zhex
zhex_SOURCES = zhex.c
noinst_PROGRAMS += zisjson
zisjson_SOURCES = zisjson.c
noinst_PROGRAMS += zmapio
zmapio_SOURCES = zmapio.c
noinst_PROGRAMS += zs3parse
zs3parse_SOURCES = zs3parse.c

if ENABLE_S3
noinst_PROGRAMS += s3util
s3util_SOURCES = s3util.c
if ENABLE_S3_TESTALL
if ENABLE_S3_AWS
check_PROGRAMS += tst_pure_awssdk
tst_pure_awssdk_SOURCES = tst_pure_awssdk.cpp
AM_CXXFLAGS += -std=c++11
endif
endif
endif

if ENABLE_NCDUMPCHUNKS
# Given a netcdf4|NCZarr file, dump the actual chunk contents.
# Used to validate nczarr chunking code.
AM_CPPFLAGS += -I$(top_srcdir)/libnczarr
noinst_PROGRAMS += ncdumpchunks
ncdumpchunks_SOURCES = ncdumpchunks.c
endif

EXTRA_DIST += ${ALLSCRIPTS} ${ALLBASELINE}

CLEANFILES = ut_*.txt ut*.cdl tmp*.nc tmp*.cdl tmp*.txt tmp*.dmp tmp*.zip tmp*.nc tmp*.dump tmp*.tmp tmp*.zmap tmp_ngc.c ref_zarr_test_data.cdl tst_*.nc.zip ref_quotes.zip ref_power_901_constants.zip

BUILT_SOURCES += ${ALLBUILTSRC} ${ALLBUILTSCRIPTS}

test_quantize.c: $(top_srcdir)/nc_test4/tst_quantize.c
rm -f $@
echo "#define TESTNCZARR" > $@
cat $(top_srcdir)/nc_test4/tst_quantize.c >> $@

test_filter_vlen.c: $(top_srcdir)/nc_test4/tst_filter_vlen.c
rm -f $@
echo "#define TESTNCZARR" > $@
cat $(top_srcdir)/nc_test4/tst_filter_vlen.c >> $@

test_unlim_vars.c: $(top_srcdir)/nc_test4/tst_unlim_vars.c
rm -f $@
echo "#define TESTNCZARR" > $@
cat $(top_srcdir)/nc_test4/tst_unlim_vars.c >> $@

test_endians.c: $(top_srcdir)/nc_test4/tst_h5_endians.c
rm -f $@
echo "#define TESTNCZARR" > $@
cat $(top_srcdir)/nc_test4/tst_h5_endians.c >> $@

test_put_vars_two_unlim_dim.c: $(top_srcdir)/nc_test4/tst_put_vars_two_unlim_dim.c
rm -f $@
echo "#define TESTNCZARR" > $@
cat $(top_srcdir)/nc_test4/tst_put_vars_two_unlim_dim.c >> $@

test_chunking.c: $(top_srcdir)/ncdump/tst_chunking.c
rm -f $@
echo "#define TESTNCZARR" > $@
cat $(top_srcdir)/ncdump/tst_chunking.c >> $@

run_unknown.sh: $(top_srcdir)/nc_test4/tst_unknown.sh
rm -f $@ run_unknown.tmp
echo "#!/bin/bash" > run_unknown.tmp
echo "TESTNCZARR=1" >> run_unknown.tmp
cat $(top_srcdir)/nc_test4/tst_unknown.sh >> run_unknown.tmp
tr -d '\r' < run_unknown.tmp > $@
chmod a+x $@
rm -f run_unknown.tmp

run_specific_filters.sh: $(top_srcdir)/nc_test4/tst_specific_filters.sh
rm -f $@ run_specific_filters.tmp
echo "#!/bin/bash" > run_specific_filters.tmp
echo "TESTNCZARR=1" >> run_specific_filters.tmp
cat $(top_srcdir)/nc_test4/tst_specific_filters.sh >> run_specific_filters.tmp
tr -d '\r' < run_specific_filters.tmp > $@
chmod a+x $@
rm -f run_specific_filters.tmp

run_filter_vlen.sh: $(top_srcdir)/nc_test4/tst_filter_vlen.sh
rm -f $@ run_filter_vlen.tmp
echo "#!/bin/bash" > run_filter_vlen.tmp
echo "TESTNCZARR=1" >> run_filter_vlen.tmp
cat $(top_srcdir)/nc_test4/tst_filter_vlen.sh >> run_filter_vlen.tmp
tr -d '\r' < run_filter_vlen.tmp > $@
chmod a+x $@
rm -f run_filter_vlen.tmp

run_filter_misc.sh: $(top_srcdir)/nc_test4/tst_filter_misc.sh
rm -f $@ run_filter_misc.tmp
echo "#!/bin/bash" > run_filter_misc.tmp
echo "TESTNCZARR=1" >> run_filter_misc.tmp
cat $(top_srcdir)/nc_test4/tst_filter_misc.sh >> run_filter_misc.tmp
tr -d '\r' < run_filter_misc.tmp > $@
chmod a+x $@
rm -f run_filter_misc.tmp

run_filterinstall.sh: $(top_srcdir)/nc_test4/tst_filterinstall.sh
rm -f $@ run_filterinstall.tmp
echo "#!/bin/bash" > run_filterinstall.tmp
echo "TESTNCZARR=1" >> run_filterinstall.tmp
cat $(top_srcdir)/nc_test4/tst_filterinstall.sh >> run_filterinstall.tmp
tr -d '\r' < run_filterinstall.tmp > $@
chmod a+x $@
rm -f run_filterinstall.tmp

run_mud.sh: $(top_srcdir)/ncdump/tst_mud.sh
rm -f $@ run_mud.tmp
echo "#!/bin/bash" > run_mud.tmp
echo "TESTNCZARR=1" >> run_mud.tmp
cat $(top_srcdir)/ncdump/tst_mud.sh >> run_mud.tmp
tr -d '\r' < run_mud.tmp > $@
chmod a+x $@
rm -f run_mud.tmp

run_nccopy5.sh: $(top_srcdir)/ncdump/tst_nccopy5.sh
rm -f $@ run_nccopy5.tmp
echo "#!/bin/bash" > run_nccopy5.tmp
echo "TESTNCZARR=1" >> run_nccopy5.tmp
cat $(top_srcdir)/ncdump/tst_nccopy5.sh >> run_nccopy5.tmp
tr -d '\r' < run_nccopy5.tmp > $@
chmod a+x $@
rm -f run_nccopy5.tmp

# Remove directories
clean-local:
rm -fr testdir_* testset_*
rm -fr tmp_*.nc tmp_*.zarr tst_quantize*.zarr tmp*.file results.file results.s3 results.zip
rm -fr rcmiscdir ref_power_901_constants.file
rm -fr v3_*.log v3_*.trs
if ENABLE_S3_TESTALL
bash ${abs_top_builddir}/s3cleanup.sh
endif

Loading

0 comments on commit 05a2005

Please sign in to comment.