Commit Graph

126 Commits

Author SHA1 Message Date
Dennis Heimbigner
403947e7f2 Add Wei-King Liao's ncvalidator program
Add Wei-King Liao's ncvalidator program (with his permission) as
an uninstalled (for now) tool in the ncdump directory. It has in
the past been useful for debugging netcdf-3 files.
2019-03-23 14:02:39 -06:00
Dennis Heimbigner
2420b69a83 Fix nccopy to use NC_PERSIST so that -w actually persists the output.
re: Issue https://github.com/Unidata/netcdf-c/issues/1365

At some point (4.6.1) we changed the diskless handling of flags
and added a new NC_PERSIST flag. Looks like we did not fix all
occurrences of the old flag set, specifically for 'nccopy -w' command.
Also added some tests (tst_nccopy_w{3,4}.sh) for this situation.
2019-03-15 12:05:27 -06:00
Dennis Heimbigner
98caf87116 Fix ncgen handling of octal constants (with leading 0).
re: https://github.com/Unidata/netcdf-c/issues/1330

The ncgen utility is documented to accept octal integer constants
if the leading digit is zero. This was not implemented. Fix ncgen.l
to properly handle such constants. Also add a test to c0.cdl.
2019-02-25 20:57:23 -07:00
Ward Fisher
02937d2d0e ncdump, other directories updated with copyright stanza. 2018-12-06 15:36:53 -07:00
Dennis Heimbigner
751300ec59 Fix more memory leaks in netcdf-c library
This is a follow up to PR https://github.com/Unidata/netcdf-c/pull/1173

Sorry that it is so big, but leak suppression can be complex.

This PR fixes all remaining memory leaks -- as determined by
-fsanitize=address, and with the exceptions noted below.

Unfortunately. there remains a significant leak that I cannot
solve. It involves vlens, and it is unclear if the leak is
occurring in the netcdf-c library or the HDF5 library.

I have added a check_PROGRAM to the ncdump directory to show the
problem.  The program is called tst_vlen_demo.c To exercise it,
build the netcdf library with -fsanitize=address enabled. Then
go into ncdump and do a "make clean check".  This should build
tst_vlen_demo without actually executing it.  Then do the
command "./tst_vlen_demo" to see the output of the memory
checker.  Note the the lost malloc is deep in the HDF5 library
(in H5Tvlen.c).

I am temporarily working around this error in the following way.
1. I modified several test scripts to not execute known vlen tests
   that fail as described above.
2. Added an environment variable called NC_VLEN_NOTEST.
   If set, then those specific tests are suppressed.

This should mean that the --disable-utilities option to
./configure should not need to be set to get a memory leak clean
build.  This should allow for detection of any new leaks.

Note: I used an environment variable rather than a ./configure
option to control the vlen tests. This is because it is
temporary (I hope) and because it is a bit tricky for shell
scripts to access ./configure options.

Finally, as before, this only been tested with netcdf-4 and hdf5 support.
2018-11-15 10:00:38 -07:00
Ward Fisher
6cf9c2e6c5 Fence-posted ocprint behind a DAP conditional, in support of bf6ae6c591 (commitcomment-29912584) 2018-08-01 14:15:01 -06:00
Ward Fisher
bf6ae6c591 Added ocprint binary to cmakelists. 2018-07-31 12:51:24 -06:00
Dennis Heimbigner
b02703aa24 This PR primarily addresses Issue https://github.com/Unidata/netcdf-c/issues/725.
After a long discussion, I implemented the rules at the end of that issue.
They are documented in nccopy.1.

Additionally, I added a new, per-variable, -c flag that allows
for the direct setting of the chunking parameters for a variable.
The form is
    -c var:c1,c2,...ck
where var is the name of the variable (possibly a fully qualified name)
and the ci are the chunksizes for that variable. It must be the case
that the rank of the variable is k. If the new form is used as well
as the old form, then the new form overrides the old form for the
specified variable. Note that multiple occurrences of the new form
-c flag may be specified.

Misc. Other fixes
1. Added -M <size> option to nccopy to specify the minimum
   allowable chunksize.
2. Removed the unused variables from bigmeta.c
   (Issue https://github.com/Unidata/netcdf-c/issues/1079)
3. Fixed failure of nc_test4/tst_filter.sh by using the new -M
   flag (#1) to allow filter test on a small chunk size.
2018-07-26 20:16:02 -06:00
Ward Fisher
3f83cc4926 Merge branch 'master' into inmem2.dmh 2018-05-16 14:24:19 -06:00
Ward Fisher
27ca221bdb Merge branch 'master' into appveyor.wif 2018-05-14 13:19:17 -06:00
Dennis Heimbigner
3c7ffcc6d1 Fix https://github.com/Unidata/netcdf-c/issues/963
Fix https://github.com/Unidata/netcdf-c/issues/962

1. remove the --disable-diskless option since it is no
   longer needed. Similarly for CMakeLists.txt.
2. Fixed nc4files.c where BAIL and return were mixed
   leading to situation where cleanup code was not
   being invoked. This probably occurs elsewhere,
   but I did not find any specifically.
2018-05-11 15:30:19 -06:00
luz.paz
74fbacdb82 Misc. source comment typos
Some are user-facing. Found via `codespell` and through the downstream FreeCAD.
2018-04-26 23:04:01 -04:00
Ward Fisher
28ce3e4a8c Added fenceposts around bash scripts, excluding the bash.exe included with Windows 10 (for now) when searching to see if bash is available. 2018-04-26 14:38:56 -06:00
Thomas Braun
3af477a926 netcdf-c: Make cmake pass a windows cmd prompt
add_sh_test only creates the test if HAVE_BASH is TRUE.
Therefore we can only call SET_TESTS_PROPERTIES on the created test if
HAVE_BASH is equally true.
2018-04-26 14:43:27 +02:00
Ward Fisher
69a418c27d Merge branch 'cmake-fix' of https://github.com/nehaljwani/netcdf-c into gh692 2018-01-02 13:24:13 -07:00
Ward Fisher
84a77be0c4 Added explicit error checking to tst_netcdf4.sh 2017-12-18 15:26:33 -06:00
Ward Fisher
58972c8cc0 Working out issues on Windows. 2017-12-12 10:44:22 -06:00
Ward Fisher
24c6b27dfe Configuring a test so that it won't fail during parallel testing. 2017-12-06 15:00:21 -07:00
Ward Fisher
6166f86bfc Flagged tst_nccopy4 to not run parallel when using cmake. 2017-12-01 15:19:42 -07:00
Ward Fisher
72052689c6 More reshuffling. 2017-12-01 15:04:13 -07:00
Ward Fisher
d095101a95 Corrected a typo. 2017-12-01 14:39:48 -07:00
Ward Fisher
b029b36aa3 Rearranging deck chairs. 2017-12-01 14:36:57 -07:00
Ward Fisher
07228d0010 Addressing more test dependencies. 2017-12-01 14:27:26 -07:00
Nehal J Wani
b487c30382
Merge branch 'master' into cmake-fix 2017-12-01 06:20:20 +00:00
Ed Hartnett
3c5404ccf7
Merge branch 'master' into ejh_ncfunc_testing 2017-11-28 00:04:38 +00:00
Ward Fisher
2bdc8a7855 Temporarily removed a test for Windows. 2017-11-27 11:58:27 -06:00
Nehal J Wani
03dd4e260f
Make certain tests conditional on dependencies
tst_h_rdc0 depends on ncdump_tst_netcdf4, which isn't build if HAVE_BASH
isn't true. But CMake errors out with:

-- Bash shell not found; disabling shell script tests.
CMake Error at CMakeLists.txt:1521 (SET_PROPERTY):
  SET_PROPERTY given TEST names that do not exist:

    tst_h_rdc0

There are also some tests which cdl_do_maps depends on, but it is
also not defined if HAVE_BASH isn't true. CMake errors out with:

CMake Error at examples/CDL/CMakeLists.txt:10 (SET_TESTS_PROPERTIES):
  SET_TESTS_PROPERTIES Can not find test to add properties to:
cdl_do_comps

This patch makes these tests conditional, making CMake happy.
2017-11-26 10:17:58 +05:30
Ed Hartnett
579bfcb766 removed tst_ctest.sh from cmake build 2017-11-25 07:42:11 -07:00
Ed Hartnett
a208cc028c changed ncdump C test to build but not run (again) under CMake build 2017-11-25 02:57:13 -07:00
Ward Fisher
136a717d26 Getting tests to run in parallel under cmake 2017-11-22 11:37:00 -07:00
Ward Fisher
7d8f58a752
Merge branch 'master' into ejh_ncdump_3 2017-11-21 15:54:29 -07:00
Ward Fisher
95b9ef5ffe Added expected failure to cmake-based tests. 2017-11-20 17:02:16 -07:00
Ward Fisher
e8af76c2f4 Wiring in a quick test. 2017-11-20 13:52:06 -07:00
Ed Hartnett
096e0e19fc fixing cmake build 2017-11-20 05:34:17 -07:00
Ed Hartnett
2130e5dcfb fixing cmake build 2017-11-20 05:28:42 -07:00
Ed Hartnett
3bdf2801f6 working on cmake build 2017-11-16 17:57:22 -07:00
Ed Hartnett
7b4f17cb38 working on cmake build 2017-11-16 17:56:12 -07:00
Ed Hartnett
1a178582b9 working on cmake build 2017-11-16 17:54:30 -07:00
Ed Hartnett
2efdf55ad7 working on cmake build 2017-11-16 17:50:02 -07:00
Ed Hartnett
cd753be416 working on cmake build 2017-11-16 17:48:06 -07:00
Ed Hartnett
976a6e438e working on cmake build 2017-11-16 17:46:11 -07:00
Ed Hartnett
22a4898325 working on cmake build 2017-11-16 17:43:21 -07:00
Ed Hartnett
045a467029 working on cmake build 2017-11-16 17:32:19 -07:00
Ed Hartnett
0d517d5653 fixing CMake build 2017-11-16 17:14:48 -07:00
Ed Hartnett
693a47ad04 move C program invokations to scripts to clean up dependencies in build 2017-11-16 13:03:35 -07:00
Ed Hartnett
3b0c301d76 moved tst_bug324 in Cmake build from ncdump to nc_test4 2017-11-16 11:57:39 -07:00
Ed Hartnett
add3e4b46d working on cmake build 2017-11-12 06:12:08 -07:00
Ed Hartnett
4e52587864 fixed typo in CMakeLists.txt 2017-11-12 05:34:31 -07:00
Ed Hartnett
05d251bfb5 different attempt to deal with ncdump dependencies 2017-11-11 17:33:51 -07:00
Ed Hartnett
a80ac592cd attempt at cmake files 2017-11-11 16:46:25 -07:00