Commit Graph

158 Commits

Author SHA1 Message Date
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
Ward Fisher
9f716a228f
Merge branch 'master' into inmemory.dmh 2018-05-04 16:15:22 -06:00
Dennis Heimbigner
0a44d9ae3a Merge branch 'master' into inmemory.dmh 2018-04-23 11:30:14 -06:00
Ed Hartnett
1f9a78c6eb fixed distcheck problem 2018-04-23 03:29:37 -06:00
Ed Hartnett
b5e282996c moved tests 2018-04-23 03:19:11 -06:00
Ward Fisher
46e39c3647 Merge branch 'err_endef_close' of https://github.com/wkliao/netcdf-c into gh479-conflict-resolution 2018-04-18 10:22:53 -06:00
Dennis Heimbigner
30860ce48f fix makefile/cmakelist extra-dist problems 2018-04-13 13:27:43 -06:00
Dennis Heimbigner
4739cd3225 Master merge and conflict resolution 2018-04-12 21:51:17 -06:00
Ed Hartnett
af79dfa14d new method of using valgrind 2018-03-28 13:54:05 -06:00
Ed Hartnett
45329862a8 removed valgrind stuff 2018-02-27 08:36:12 -07:00
Dennis Heimbigner
ccc70d640b re: esupport MQO-415619
and https://github.com/Unidata/netcdf-c/issues/708

Expand the NC_INMEMORY capabilities to support writing and accessing
the final modified memory.

Three new functions have been added:
nc_open_memio, nc_create_mem, and nc_close_memio.

The following new capabilities were added.
1. nc_open_memio() allows the NC_WRITE mode flag
   so a chunk of memory can be passed in and be modified
2. nc_create_mem() allows the NC_INMEMORY flag to be set
   to cause the created file to be kept in memory.
3. nc_close_mem() allows the final in-memory contents to be
   retrieved at the time the file is closed.
4. A special flag, NC_MEMIO_LOCK, is provided to ensure that
   the provided memory will not be freed or reallocated.

Note the following.
1. If nc_open_memio() is called with NC_WRITE, and NC_MEMIO_LOCK is not set,
   then the netcdf-c library will take control of the incoming memory.
   This means that the original memory block should not be freed
   but the block returned by nc_close_mem() must be freed.
2. If nc_open_memio() is called with NC_WRITE, and NC_MEMIO_LOCK is set,
   then modifications to the original memory may fail if the space available
   is insufficient.

Documentation is provided in the file docs/inmemory.md.
A test case is provided: nc_test/tst_inmemory.c driven by
nc_test/run_inmemory.sh

WARNING: changes were made to the dispatch table for
the close entry. From int (*close)(int) to int (*close)(int,void*).
2018-02-25 21:45:31 -07:00
Ward Fisher
0d420fcfbb
Merge branch 'master' into cdf5_var_len 2018-02-02 10:31:46 -07:00
Ward Fisher
8487a0a954
Merge branch 'master' into cdf5_var_len 2018-01-25 16:30:58 -07:00
Wei-keng Liao
68b99ac764 remove nc files after make test 2017-12-21 00:01:53 -06:00
Wei-keng Liao
0f4a85b9f2 a clean commit for #383 2017-12-20 20:53:30 -06:00
Ward Fisher
9d826f90ed Added dependency on diskless tests to mmap test. 2017-12-07 16:20:40 -07:00
Ward Fisher
d927f6f384 Updated test file stuff for nc_test 2017-12-07 15:55:32 -07:00
Ed Hartnett
843db9798f finally got my distcheck act together by moving hdf4 file test to nc_test4 2017-11-23 04:41:03 -07:00
Ed Hartnett
845355e91b added hdf4 test for inq_format calls 2017-11-22 08:21:24 -07:00
Ed Hartnett
d4495e8e86 more testing 2017-11-22 07:46:03 -07:00
Ed Hartnett
b5ed095f36 makefile cleanup 2017-11-22 07:05:10 -07:00
Ed Hartnett
70c739858b fixed SEGFAULT for NULL parameter for nc_inq_format(), added testing, improved documentation 2017-11-22 06:53:23 -07:00
Ed Hartnett
d4c1fd5d80
Merge branch 'master' into ejh_delete_ncx 2017-11-07 18:35:05 -07:00
Ed Hartnett
f8c77f0692 refurbished tst_cdf5format.c 2017-11-06 05:35:34 -07:00
Ed Hartnett
b40e5d32f0
Merge branch 'master' into ejh_delete_ncx 2017-11-05 10:08:26 -07:00
Ed Hartnett
c71e4dde09 removed historic file no longer used: nc_test/ncx.c 2017-11-01 05:09:29 -06:00
Wei-keng Liao
2cc30c16be check against NC_MAX_VAR_DIMS (but using NC_EMAXDIMS, maybe a new error code NC_EMAXVARDIMS is needed) 2017-09-21 12:37:33 -05:00
Wei-keng Liao
85c3222de0 run tst_large_cdf5 and tst_cdf5_begin only when LARGE_FILE_TESTS is enabled 2017-09-16 19:15:09 -05:00
Wei-keng Liao
f7ee463119 disable CDF5 tests when size_t is less than 8 bytes 2017-09-16 17:35:52 -05:00
Wei-keng Liao
e67cbed81c forgot to add run_cdf5.sh to EXTRA_DIST 2017-09-16 15:22:59 -05:00
Wei-keng Liao
e397001bfe add another test program to check if a CDF-5 file has a corrupted header 2017-09-16 14:30:09 -05:00
Wei-keng Liao
f00c43fc04 add a test program to read a CDF-5 file with a corrupted header 2017-09-16 14:04:39 -05:00
Wei-keng Liao
2f239d34df add test program, tst_err_enddef.c 2017-09-07 20:29:40 -05:00
Ward Fisher
85e9aaf368 Wiring in a large test to check against a regression for the issue described in https://github.com/Unidata/netcdf-c/pull/457 2017-08-11 18:18:11 -06:00
Ward Fisher
b73c81697c Removed a line in configure.ac that is potentially redundant and throws an error on some systems. In support of https://github.com/Unidata/netcdf-c/issues/413 2017-06-08 12:38:43 -06:00
Ward Fisher
4097dd9826 Change to address issue reported in https://github.com/Unidata/netcdf-c/issues/413 2017-06-08 11:55:00 -06:00
Dennis Heimbigner
5a0c7abb8f Add testcase 2017-05-03 09:58:49 -06:00
Ward Fisher
8dddd222a3 Merged master, DAP4 support into branch. 2017-04-19 09:29:35 -06:00
Ward Fisher
b5b99cbebb Merge branch 'master' into ghpull-375 2017-04-05 16:24:55 -06:00
Dennis Heimbigner
5f15c9e777 1) master merge 2)fix uname -o problem 2017-03-30 16:21:31 -06:00
Ward Fisher
16169a27af Wiring in test in support of https://github.com/Unidata/netcdf-c/issues/388 2017-03-29 15:25:38 -06:00
Ward Fisher
6b036cfc28 Adding test in support of https://github.com/Unidata/netcdf-c/issues/384 2017-03-29 11:23:47 -06:00
Ward Fisher
8e3790f7ce Merged master. 2017-03-09 12:53:28 -07:00
Dennis Heimbigner
3db4f013bf Primary change: add dap4 support
Specific changes:
1. Add dap4 code: libdap4 and dap4_test.
   Note that until the d4ts server problem is solved, dap4 is turned off.
2. Modify various files to support dap4 flags:
	configure.ac, Makefile.am, CMakeLists.txt, etc.
3. Add nc_test/test_common.sh. This centralizes
   the handling of the locations of various
   things in the build tree: e.g. where is
   ncgen.exe located. See nc_test/test_common.sh
   for details.
4. Modify .sh files to use test_common.sh
5. Obsolete separate oc2 by moving it to be part of
   netcdf-c. This means replacing code with netcdf-c
   equivalents.
5. Add --with-testserver to configure.ac to allow
   override of the servers to be used for --enable-dap-remote-tests.
6. There were multiple versions of nctypealignment code. Try to
   centralize in libdispatch/doffset.c and include/ncoffsets.h
7. Add a unit test for the ncuri code because of its complexity.
8. Move the findserver code out of libdispatch and into
   a separate, self contained program in ncdap_test and dap4_test.
9. Move the dispatch header files (nc{3,4}dispatch.h) to
   .../include because they are now shared by modules.
10. Revamp the handling of TOPSRCDIR and TOPBUILDDIR for shell scripts.
11. Make use of MREMAP if available
12. Misc. minor changes e.g.
	- #include <config.h> -> #include "config.h"
	- Add some no-install headers to /include
	- extern -> EXTERNL and vice versa as needed
	- misc header cleanup
	- clean up checking for misc. unix vs microsoft functions
13. Change copyright decls in some files to point to LICENSE file.
14. Add notes to RELEASENOTES.md
2017-03-08 17:01:10 -07:00
Dennis Heimbigner
47daf33074 Resolves Github issue https://github.com/Unidata/netcdf-c/issues/349.
Update utf8proc.[ch] to use the version now
maintained by the Julia Language project
(https://github.com/JuliaLang/utf8proc/blob/master/LICENSE.md).
The license for the previous version was
unacceptable for the Debian and Ubuntu release
systems. The new version both updates the code
and addresses the license issue.

It turns out that the utf8proc software we are using
was turned over to the Julia Language developers
and the license terms changed to allow modification.
(https://github.com/JuliaLang/utf8proc/blob/master/LICENSE.md).

So the fix here is as follows:
1. Wrap the library with a fixed interface: libdispatch/dutf8.c
   and include/ncutf8.h.
2. Replace the existing utf8proc code with the new version
   from https://github.com/JuliaLang/utf8proc.
3. Add a couple more test cases: nc_test/tst_utf8_validate.c
   and nc_test_utf8_phrases.c.  If/when I can find a usable
   normalization test, I will incorporate that later.
2017-02-16 14:27:54 -07:00
Wei-keng Liao
beac085c7d more updates due to renaming test_read.c and test_write.c to m4 files 2016-10-13 02:56:50 -05:00
Ward Fisher
b2e4b74e3a Restricted tests from running when they require the utilities but the utilities were not built, in autoconf-based tests. See https://github.com/Unidata/netcdf-c/issues/313 for more information. 2016-08-31 15:38:59 -06:00
Ward Fisher
baec7157a3 Clean up lingering 'make distcheck' errors. 2016-04-12 09:48:21 -06:00
Ward Fisher
33e43e15f1 Merge branch 'master' into gh240 in preparation for final merge. 2016-04-05 20:28:03 +00:00
Ward Fisher
829036ab7f Corrected an issue with out-of-source-tree builds, in support of https://github.com/Unidata/netcdf-c/issues/242 2016-04-04 15:27:22 -06:00
Ward Fisher
93641eb2d6 Refactored types test. 2016-03-28 18:29:47 +00:00
Ward Fisher
612b35a84c Merge branch 'master' into cdf-5, in preparation for merging the CDF-5 functionality into the master branch. This will be the key new feature for netcdf 4.4.0. 2015-11-05 13:40:35 -07:00
Ward Fisher
32eee4bbdb Removed a stray backslash. 2015-10-30 17:01:33 +00:00
Ward Fisher
b7a4f1c7b5 Updated tests so that tst_addvar.c is run after tst_pnetcdf.c 2015-10-29 10:27:31 -06:00
Ward Fisher
ccad3765ca Adding a new test for a particular pnetcdf bug. See YRZ-543552. 2015-10-28 10:51:53 -06:00
Ward Fisher
490198e03c Cleaned up generated files. 2015-10-09 17:08:46 -06:00
dmh
087ae58ffd cleanup and squash changes vav master 2015-10-09 10:12:11 -06:00
dmh
49597a64af merge-squash 2015-10-09 10:12:11 -06:00
Ward Fisher
5349c99e8a Removed tst_swap4b for now, it is causing difficulties that are proving problematic to work around. 2015-08-17 16:57:31 -06:00
Ward Fisher
58573722b6 Corrected an issue with the [NCF-338] test, when using an out-of-source build with autotools. 2015-07-31 15:37:01 -06:00
Ward Fisher
95cbe52b37 Additional changes to hopefully get autotools and tst_swap4b working together in service of addressing [NCF-338] 2015-07-28 13:43:15 -06:00
Ward Fisher
2664eca9e5 Wired the refactored tst_swap4b into autotools and cmake. 2015-07-28 12:24:13 -06:00
Ward Fisher
b2bdd83a7f Added skeleton of new test for [NCF338]. 2015-07-27 11:20:44 -06:00
Ward Fisher
0c30751b58 Updated automake file so that 'make distcheck' would pass. 2015-05-18 12:21:40 -06:00
Russ Rew
67ad8d89a8 Fix and test resolution of NCF-326, Unlimited Dimensions NC_EEDGE error. 2015-03-10 06:13:07 -06:00
Rob Latham
af4eb0fb1d sync lines for generated C files
m4 can emit 'sync lines' which tell the toolchain "hey, this code
actually came from this other file over here".  Should help prevent
anyone accidentally editing a generated file.
2014-12-05 12:55:49 -06:00
Ward Fisher
63c67fa2e5 Fixed an issue with out-of-source libtool builds related to the netcdf_meta test in nc_test/. 2014-09-22 13:38:34 -06:00
Ward Fisher
069820158d Added a test to catch errors introduced into netcdf_meta.h 2014-09-11 15:44:56 -06:00
Ward Fisher
2c6b2d8c5e Added nc_test.c to EXTRA_DIST.
Rebuilding extra_dist in makefile.am

Cleaning up extra_dist stanza in makefile.am.
2014-09-03 14:46:35 -06:00
Ward Fisher
7bde03714a Fixed an issue preventing make distcheck from working. 2014-09-03 13:11:09 -06:00
Ward Fisher
7c68518ce3 Removed dangling reference to tst_settings.c 2014-09-03 12:50:15 -06:00
dmh
be329e7a23 Add ability to programmatically
extract info from libnetcdf.settings
API is below.
I have made this API public yet
by adding it to netcdf.h. I will
do that when everyone is agreed on the
proper API.

extern const char* nc_settings(const char* key); /*get value of a specific key */
extern const char** nc_settings_all(); /*get all settings in envv format */
extern void nc_settings_reclaim(); /* reclaim all space and clean up */

Envv format is
{key,value}*,NULL

Also added test: nc_test/tst_settings.c
2014-08-29 14:51:14 -06:00
dmh
582410a407 [NCF-273]/HZY-708311
Add a new function called nc_inq_format_extended that
returns more detailed format information (vis-a-vis
nc_inq_format) about an open dataset.

Note that the netcdf API will present the file as if it had
the format specified by nc_inq_format.  The true file
format, however, may not even be a netcdf file; it might be
DAP, HDF4, or PNETCDF, for example. This function returns
that true file type.  It also returns the effective mode for
the file.

signature: nc_inq_format_extended(int ncid, int* formatp, int* modep)
where
* ncid is the NetCDF ID from a previous call to nc_open() or
  nc_create().
* formatp is a pointer to a location for returned true format.
* modep is a pointer to a location for returned mode flags.

Refer to the actual list in the file netcdf.h to see the
currently defined set.

Also added test cases (tst_formatx*).
2013-12-22 12:53:20 -07:00
dmh
10b0ac536f [NCF-267]/SAI-630695
Add support for embedded NUL characters
in character arrays and added some test cases.

Note that embedded NULs in netcdf-4
string constants are still illegal. This is
because strings are not counted in the netcdf
API, so they are implicitly NUL terminated.
2013-09-23 17:11:59 -06:00
Dennis Heimbigner
dea3c726c8 merge trunk into this branch 2013-03-15 20:31:07 +00:00
Ward Fisher
ddf3c31bb0 Corrected a handful of syntax issues in CMake config files,
probably introduced more.  

Added CMake-related files to Makefile.am files for inclusion
when creating a distribution package.
2013-02-20 23:28:28 +00:00
Dennis Heimbigner
a6b932826b add NC_MMAP flag and tests 2012-06-23 19:25:49 +00:00
Russ Rew
1f4eeafcb9 Fixed doxygen installation guide source file to preserve line breaks
in code and scripts.

Fixed bug NCF-171: error reading external int into longlong or writing
from longlong array to external int on 32-bit platforms and classic
format files.

Promoted test demonstrating NCF-171 bug from longlong array from
"extra test" to "test".
2012-05-29 15:50:15 +00:00
Russ Rew
dbaf62f5e6 Updated some links in Doxygen version of user guide. Fixed some
range_error checks in netCDF-4 type conversion code.  Made netCDF
attribute tests with type conversion more comprehensive and stringent,
fixing bugs identified with better tests.  Changed a test in
nc_test/tst_atts.c to use netCDF-3 file instead of netCDF-4 file,
because that directory is supposed to be for tests that work with
--disable-netcdf-4.  Added test demonstrating NCF-171 bug on 32-bit
platforms, only run when configured with --enable-extra-tests.
2012-05-24 16:29:22 +00:00
Dennis Heimbigner
5b2aee44a7 windows support fixes plus add --disable-diskless 2012-05-15 17:48:27 +00:00
Dennis Heimbigner
3e444c39d8 made run_diskless2 only run when doing large file tests 2012-04-09 22:43:30 +00:00
Dennis Heimbigner
48ca394d2e diskless: make read and write loop to read/write whole file when persisting 2012-04-09 22:03:02 +00:00
Dennis Heimbigner
5536bccee1 allow NC_DISKLESS with nc_open() to operate as a in-memory cache 2012-04-08 22:47:38 +00:00
Dennis Heimbigner
7e27052f87 - Implemented diskless files for both netcdf classic and extended.
The in-memory files can be made persistent if nc_create is called with
  NC_DISKLESS|NC_WRITE flags set. Initial test case also included.
- Modified ncio mechanism to support
  multiple ncio packages; this is so we
  can have posixio and memio operating
  at the same time.
- cleanup up a bunch of lint issues (unused variables, etc).
2012-03-26 01:34:32 +00:00
Dennis Heimbigner
82287e3a37 conditional testnc3perf.c 2012-02-03 21:30:43 +00:00
Dennis Heimbigner
e3c5364ab8 missed file cleanup 2012-01-23 19:25:47 +00:00
Dennis Heimbigner
434e7d91bc added nc3 performance test 2012-01-19 20:17:40 +00:00
Dennis Heimbigner
1578ddac0c 2011-09-20 20:39:04 +00:00
Ed Hartnett
fde5e75730 removed diskless files for non-netcdf-4 builds 2011-08-23 15:07:24 +00:00
Ed Hartnett
d58c18c623 added diskless files API, subsetting not working, classic model only 2011-08-16 21:04:33 +00:00
Russ Rew
ba59f198bf Add nofill bug test that uses nc_create() rather than nc__create(). 2011-05-17 21:02:28 +00:00
Ed Hartnett
e2685a1475 changes to remove EXTERN_LDFLAG from build, also to fix netCDF-4 sync bug 2011-05-17 19:14:35 +00:00
Russ Rew
2d766790fe Add nofill bug test that just uses nc_create() rather than nc__create(). 2011-05-16 19:09:16 +00:00
Ed Hartnett
2f4cf5382e took out ldflags in Makefile.am files 2011-05-11 17:09:12 +00:00
Ed Hartnett
cda773c8db took extra_test protection away from dreaded nofill bug test 2011-04-29 21:00:35 +00:00
Ed Hartnett
2a00a4cceb simplified test 2011-04-26 17:06:04 +00:00
Ed Hartnett
8559e6f976 added test that activates classic library bug 2011-04-25 17:09:14 +00:00
Dennis Heimbigner
209742ebec Fixed dap memory leaks 2010-12-17 23:54:09 +00:00
Ed Hartnett
d689efdc06 don't run tst_atts unless this is a netcdf-4 build 2010-12-16 18:13:52 +00:00
Ed Hartnett
03f63a5f1c many changes for memory fixes 2010-11-29 22:23:16 +00:00