Commit Graph

548 Commits

Author SHA1 Message Date
Wei-keng Liao
f95d3e3325 replace USE_CDF5 with ENABLE_CDF5 2018-06-29 21:17:07 -05:00
Ward Fisher
aeb0e90b0b When large file tests are enabled, this test fails in Docker. Fixed by switching from sh to bash. 2018-06-14 12:46:39 -06:00
Ward Fisher
df4942d280 Merge branch 'master' into vars.dmh 2018-06-08 15:50:28 -06:00
Dennis Heimbigner
4b936ee26a Fix use of 'int' to represent 'hid_t' that caused HDF5 1.10 to fail.
re: github issue https://github.com/Unidata/netcdf-fortran/issues/82

This was originally discovered in the Fortran tests, but is
a problem in the C library.

The problem only occurred when using HDF5-1.10.x.  The reason it
failed is that starting with 1.10, the hid_t type was changed
from 32 bits to 64 bits.
The function libsrc4/nc4memcb.c#NC4_image_init was using type int (doh!)
to return the hdf fileid instead of hid_t type.  This, of course,
caused the id to be truncated and in turn later use of the id
caused hdf5 to fail.

Fix is trivial: replace int with hid_t. This also requires a related
change in nc4mem.c.

Also added the test case derived from the original Fortran code.

You would think I would learn...
2018-05-30 14:47:37 -06:00
Dennis Heimbigner
ee509ff4f3 Re-Implement the nc_get/put_vars operations for netcdf-4 using the
corresponding HDF5 operations.

re: github issue https://github.com/Unidata/netcdf-c/issues/908
also in reference to https://github.com/pydata/xarray/issues/2004

The netcdf-c library has implemented the nc_get_vars and nc_put_vars
operations as element at a time. This has resulted in very slow
operation.

This pr attempts to improve the situation for netcdf-4/hdf5 files
by using the slab operations provided by the hdf5 library. The new
implementation passes the get/put vars stride information down to
the hdf5 slab operations.

The result appears to improve performance significantly. Some simple
tests on large 2-D arrays shows speedups in excess of 150.

Misc. other changes:
1. fix bug in ncgen/semantics.c; using a list's allocated length
   instead of actual length.
2. Added a temporary hook in the netcdf library plus a performance
   test case (tst_varsperf.c) to estimate the speedup. After users
   have had some experience with this, I will remove it, probably
   after the 4.7 release.
2018-05-22 16:50:52 -06:00
Ward Fisher
9c13f3ff8b Merge branch 'ejh_fix_memtest' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into small-pr-aggregate.wif 2018-05-16 14:27:45 -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
Ed Hartnett
51353ddc5e moved hdf5.h include 2018-05-08 13:57:03 -06:00
Ward Fisher
9f716a228f
Merge branch 'master' into inmemory.dmh 2018-05-04 16:15:22 -06:00
Dennis Heimbigner
9aa1e9a14e master merge 2018-05-03 21:02:12 -06:00
Ed Hartnett
6e25c75947
Merge branch 'master' into ejh_move_tests 2018-04-30 17:53:39 -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
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
ee9537b6ab Adjusted enddef test to work on 32 bit platforms as well. 2018-04-18 13:20:50 -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
Ward Fisher
e2e2c2117f
Merge branch 'master' into index.dmh 2018-04-02 18:13:34 -06:00
Ed Hartnett
af79dfa14d new method of using valgrind 2018-03-28 13:54:05 -06:00
Dennis Heimbigner
25f062528b This completes (for now) the refactoring of libsrc4.
The file docs/indexing.dox tries to provide design
information for the refactoring.

The primary change is to replace all walking of linked
lists with the use of the NCindex data structure.
Ncindex is a combination of a hash table (for name-based
lookup) and a vector (for walking the elements in the index).
Additionally, global vectors are added to NC_HDF5_FILE_INFO_T
to support direct mapping of an e.g. dimid to the NC_DIM_INFO_T
object. These global vectors exist for dimensions, types, and groups
because they have globally unique id numbers.

WARNING:
1. since libsrc4 and libsrchdf4 share code, there are also
   changes in libsrchdf4.
2. Any outstanding pull requests that change libsrc4 or libhdf4
   are likely to cause conflicts with this code.
3. The original reason for doing this was for performance improvements,
   but as noted elsewhere, this may not be significant because
   the meta-data read performance apparently is being dominated
   by the hdf5 library because we do bulk meta-data reading rather
   than lazy reading.
2018-03-16 11:46:18 -06:00
Ward Fisher
c359a0e96a
Merge branch 'master' into newhash1.dmh 2018-03-04 22:40:51 -07:00
Ward Fisher
faad52041f Merge branch 'ejh_valgrind_removal_unidata_again' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into pr-aggregation2.wif 2018-03-02 14:22:42 -07:00
Ward Fisher
8280586c16 Merge branch 'tst_names' of https://github.com/wkliao/netcdf-c into pr-aggregation2.wif 2018-03-02 14:22:02 -07: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
Dennis Heimbigner
8cb1fc4cfe This is the second step in refactoring the libsrc4 code.
The first was branch newhash0.dmh.

As with newhash0.dmh, these changes should be transparent.
2018-02-24 20:36:24 -07:00
Ben Boeckel
b432a527c4 c: remove __CHAR_UNSIGNED__
In C, `char`, `signed char`, and `unsigned char` are three separate,
distinct types, so just because `char` happens to be signed does not
mean it is interchangeable with `signed char`.
2018-02-14 17:24:49 -05:00
Ward Fisher
39465fed12 Added include to config.h 2018-02-06 13:14:15 -06:00
Ward Fisher
b268f268bd Merge branch 'ejh_dims_unidata' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into ejh_batch 2018-02-05 11:43:41 -07:00
Ward Fisher
c1d54b0213 Added check for genlib.h 2018-02-02 20:57:55 -06:00
Ward Fisher
0d420fcfbb
Merge branch 'master' into cdf5_var_len 2018-02-02 10:31:46 -07:00
Ward Fisher
27693ba4a3
Merge branch 'master' into nc3-per-var-fill-v2 2018-02-01 11:45:40 -07:00
Ward Fisher
fcd99a9cdf
Merge branch 'master' into cdf5_var_len 2018-01-30 15:16:13 -07:00
Ward Fisher
973aa0a34b Corrected second instance of macro. 2018-01-29 11:27:15 -07:00
Ward Fisher
ac1ad05b20 Corrected macro for netcdf_meta.h to bring it in line with what had been removed previously. 2018-01-25 22:21:51 -07:00
Ward Fisher
8487a0a954
Merge branch 'master' into cdf5_var_len 2018-01-25 16:30:58 -07:00
Greg Sjaardema
2b1eb4dfc7
Ensure NC_HAS_META_H is defined
Modify test to also verify that NC_HAS_META_H is defined
2018-01-25 14:32:38 -07:00
Wei-keng Liao
ba9402750f test all available file formats in tst_def_var_fill.c 2017-12-23 13:39:54 -06:00
Wei-keng Liao
3278c63776 using NC_GLOBAL in nc_def_var_fill returns error NC_EGLOBAL 2017-12-23 11:33:41 -06: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
ac2d6f61a3 Corrected number of formats, oops. 2017-12-20 14:36:04 -07:00
Ward Fisher
d8608768ee Corrected a basic mistake for 32 bit platforms. 2017-12-20 12:58:56 -07:00
Ward Fisher
735ad98a8f updated comments since we're tracking this closely now 2017-12-20 12:20:08 -07:00
Ward Fisher
faeb1be44a Adjusted test to use dynamically allocated memory instead of the stack. 2017-12-20 12:00:48 -07:00
Ward Fisher
2d05d2e3bb Corrected typo. 2017-12-19 15:53:31 -07:00
Ward Fisher
9920cbe073 Fixed issue https://github.com/Unidata/netcdf-c/issues/723 2017-12-19 13:56:08 -07:00
Ward Fisher
24e358c8ce Adjusted a test in support for Visual Studio 14 2017-12-11 15:30:05 -06:00
Ward Fisher
77cca75977
Merge branch 'master' into ejh_more_tests 2017-12-07 20:24:43 -07: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
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
e8471c9eeb
Merge branch 'master' into ejh_more_tests 2017-12-06 13:21:32 -07:00
Ed Hartnett
e6785c719c moved declaration out of for loop 2017-12-04 14:11:06 -07:00
Ed Hartnett
ea49cc1d3f merged ejh_notbuilt_errors 2017-12-04 13:23:31 -07:00
Ward Fisher
1b4ab683b5 Added mmap to tests that run serially 2017-12-01 15:23:26 -07:00
Ed Hartnett
ec3bb22d03 fixed warning 2017-11-30 05:14:19 -07:00
Ed Hartnett
34c9248e6f
Merge branch 'master' into ejh_notbuilt_errors 2017-11-28 17:16:56 +00:00
Ed Hartnett
3c5404ccf7
Merge branch 'master' into ejh_ncfunc_testing 2017-11-28 00:04:38 +00:00
Ed Hartnett
f33897e248 fixed some warnings, added some files to makefile.am to be cleaned 2017-11-26 08:50:16 -07:00
Nehal J Wani
1b91bd89d4
Fix build on pre-C99 compilers
- Make sure that the variables are declared at the top of the block.
 - Add fix to enable inline for various compilers
2017-11-26 01:47:54 +05:30
Ed Hartnett
8011fab382 now run tst_large2, also cleaned up some more warnings 2017-11-24 10:50:07 -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
0c7684b1ac removed tst_filters from CMake build 2017-11-22 12:42:59 -07:00
Ed Hartnett
2b3e1b1c86 trying to get cmake build to work 2017-11-22 10:21:51 -07:00
Ed Hartnett
d64550d3f0
Merge branch 'master' into ejh_notbuilt_errors 2017-11-22 17:14:24 +00:00
Ed Hartnett
74a895a394 fixed copy of HDF4 file in CMake build with nc_test/tst_formats.c 2017-11-22 09:52:40 -07:00
Ed Hartnett
365bd0cef2 added new test to CMake build 2017-11-22 08:26:53 -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
Ward Fisher
2ab3e56747 Added error message for new error NC_ENULLPAD. [skip ci] 2017-11-20 17:31:08 -07:00
Ed Hartnett
eecade6af9
Merge branch 'master' into ejh_notbuilt_errors 2017-11-18 21:24:11 +00:00
Ed Hartnett
03753c0344 now return NC_ENOTBUILT for not built library features 2017-11-13 08:09:15 -07:00
Ed Hartnett
ca49633a64
Merge branch 'master' into ejh_fix_test 2017-11-10 02:43:32 -07:00
Ed Hartnett
4f7fb907f6 removed unused files 2017-11-08 04:13:03 -07:00
Ed Hartnett
d4c1fd5d80
Merge branch 'master' into ejh_delete_ncx 2017-11-07 18:35:05 -07:00
Ward Fisher
b92ae0cdbc Merge branch 'ejh_fix_use_cdf' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into more_ejh_pulls 2017-11-07 14:14:10 -07:00
Ed Hartnett
59217fe8ac cleaned up, fixed comments 2017-11-06 06:19:34 -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
c920f48c49 fixed ENABLE_CDF5 issue in some tests 2017-11-05 09:08:39 -07:00
Ed Hartnett
6ce15853d6 fixed ENABLE_CDF5 issue in some tests 2017-11-05 09:06:48 -07:00
Ward Fisher
1bd71f0375 Merge remote-tracking branch 'origin/testp2.dmh' into dmh_multi_merge 2017-11-03 12:42:12 -06:00
Ward Fisher
f98635be1b Merge remote-tracking branch 'origin/h5offset.dmh' into dmh_multi_merge 2017-11-03 12:40:52 -06:00
Ward Fisher
91865a3cbc Merge branch 'NC_MAX_VAR_DIMS' of https://github.com/wkliao/netcdf-c into multi-merge 2017-11-02 11:20:54 -06:00
Ed Hartnett
c71e4dde09 removed historic file no longer used: nc_test/ncx.c 2017-11-01 05:09:29 -06:00
Ward Fisher
d7f0919c12
Merge branch 'master' into NC_MAX_VAR_DIMS 2017-10-31 14:06:41 -06:00
Ward Fisher
2987fb0bed
Merge branch 'master' into master 2017-10-31 14:01:08 -06:00
Ward Fisher
1acafdc668 Updated in support of https://github.com/Unidata/netcdf-c/issues/556 2017-10-31 11:13:05 -06:00
Ed Hartnett
78a44214aa
Merge branch 'master' into ejh_file_mem 2017-10-30 07:35:39 -06:00
Dennis Heimbigner
261ed4c99d Merge branch 'master' into h5offset.dmh 2017-10-27 12:33:17 -06:00
Dennis Heimbigner
682ad6a463
Merge branch 'master' into testp2.dmh 2017-10-27 11:17:39 -06:00
Ed Hartnett
433a2a6e36 fixed leaks in tests 2017-10-26 14:50:21 -06:00
Ward Fisher
bacdef88fe Merge branch 'master' into NC_MAX_VAR_DIMS 2017-10-26 14:31:22 -06:00
Ed Hartnett
5fba557bdf fixed leak in tst_utf8_validate.c 2017-10-26 14:28:41 -06:00
Ward Fisher
3247b637b7 Merge remote-tracking branch 'origin/testp2.dmh' into ejh_more_merges 2017-10-26 14:26:32 -06:00
Dennis Heimbigner
d9b60fef03 change to use Wei-kings' solution 2017-10-25 13:07:17 -06:00
Ward Fisher
5d4b81af8f Merge branch 'ejh_nc_test_warning_fix_2' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into merge_small_pulls 2017-10-25 11:13:38 -06:00
Ed Hartnett
50408acec0 fixed more warnings 2017-10-25 06:22:58 -06:00
Ed Hartnett
fb4437e584 fixed warnings 2017-10-25 06:12:59 -06:00
Dennis Heimbigner
ea9d685a7b Modify nc_test/tst_parallel2.c to remove a failure.
The failure comes at the end when each processor tries to
remove() the created file. The second one appears to fail
-- possibly because of a race condition. In any case, if I
move the remove() call past MPI_Finalize(), the error goes away.

It is not clear of the exact circumstances that cause the
failure, but I encountered it with the following env.
- automake on centos7 64-bit.
- compiling with -O1 for gcc.
- The pnetcdf version is 1.8.1
- The command "mpiexec --version" gives:
  Version: 3.0.4
  Release Date: Wed Apr 24 10:08:10CDT2013
2017-10-24 19:12:07 -06:00
Dennis Heimbigner
9983b9d911 re e-support UBS-599337
re pull request https://github.com/Unidata/netcdf-c/pull/405
re pull request https://github.com/Unidata/netcdf-c/pull/446

Notes:
1. This branch is a cleanup of the magic.dmh branch.
2. magic.dmh was originally merged, but caused problems with parallel IO.
   It was re-issued as pull request https://github.com/Unidata/netcdf-c/pull/446.
3. This branch + pull request replace any previous pull requests and magic.dmh branch.

Given an otherwise valid netCDF file that has a corrupted header,
the netcdf library currently crashes. Instead, it should return
NC_ENOTNC.

Additionally, the NC_check_file_type code does not do the
forward search required by hdf5 files. It currently only looks
at file position 0 instead of 512, 1024, 2048,... Also, it turns
out that the HDF4 magic number is assumed to always be at the
beginning of the file (unlike HDF5).
The change is localized to libdispatch/dfile.c See
https://support.hdfgroup.org/release4/doc/DSpec_html/DS.pdf

Also, it turns out that the code in NC_check_file_type is duplicated
(mostly) in the function libsrc4/nc4file.c#nc_check_for_hdf.

This branch does the following.
1. Make NC_check_file_type return NC_ENOTNC instead of crashing.
2. Remove nc_check_for_hdf and centralize all file format checking
   NC_check_file_type.
3. Add proper forward search for HDF5 files (but not HDF4 files)
   to look for the magic number at offsets of 0, 512, 1024...
4. Add test tst_hdf5_offset.sh. This tests that hdf5 files with
   an offset are properly recognized. It does so by prefixing
   a legal file with some number of zero bytes: 512, 1024, etc.
5. Off-topic: Added -N flag to ncdump to force a specific output dataset name.
2017-10-24 16:25:09 -06:00
Dennis Heimbigner
c8b2184409 Fix dap4 related warnings in https://github.com/Unidata/netcdf-c/issues/501.
The nc_test/util.c error is a typo. The libdap4/d4meta.c error only is shown
when using a 64 bit machine because then |size_t| == 64 bits
and |int| = 32bits.
2017-10-20 21:17:12 -06:00
Wei-keng Liao
fa77d51c30 change ENABLE_CDF5 to USE_CDF5 2017-10-20 10:16:19 -05:00
Wei-keng Liao
faa01cf1af add condition check for CDF5 2017-10-19 16:42:22 -05:00
Wei-keng Liao
8dc83d4e48 utr8proc has legalized two code positions 2017-10-19 12:37:00 -05:00
Ward Fisher
9e240e6c9a Modified t_nc.c to only test cdf5 if it has been enabled. 2017-10-16 11:19:24 -06:00
Ward Fisher
61f628b988 reverted test. 2017-10-06 12:58:49 -06:00
Greg Sjaardema
9964cee7cd Merge branch 'master' into master 2017-09-26 11:06:04 -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
Ward Fisher
223b1f968a Updated tst_small 2017-09-18 15:08:49 -06:00
Ward Fisher
399a43ae89 Updated nc_test to respect USE_CDF5 2017-09-18 13:24:11 -06: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
Ward Fisher
d2cdc4cb5a Working on getting cdf5 tests running. 2017-09-15 18:00:28 -06:00
Ward Fisher
c740f47895 Corrected for no CDF5 support. 2017-09-15 17:29:10 -06:00
Wei-keng Liao
b47180c5be fix error reporting 2017-09-08 02:41:06 -05:00
Wei-keng Liao
2f239d34df add test program, tst_err_enddef.c 2017-09-07 20:29:40 -05:00
Ward Fisher
e006ea5e07 Fixed a simple mistake in test organization. 2017-08-11 18:36:44 -06: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
Wei-keng Liao
7992242a39 Call nc_close, which calls MPI_File_close, to avoid MPI wraning messages on MPI objects are still allocated. 2017-08-08 16:54:38 -05:00
Greg Sjaardema
1503013e33 Eliminate NC_MAX_VARS|DIMS|ATTRS limits 2017-07-20 09:32:29 -06:00
Ward Fisher
e4f81a1611 Fixed issue on 32-bit systems. 2017-07-05 14:57:12 -06:00
Ward Fisher
12d224eeef Corrected an issue in support of https://github.com/Unidata/netcdf-c/issues/420 2017-06-09 12:46:37 -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
Ward Fisher
f8c7df70b3 Corrected an issue where run_diskless2.sh was not properly configured. 2017-05-10 16:55:47 -06:00
Ward Fisher
051bd3b81a Merge branch 'master' into open_check_vlens 2017-05-05 17:02:36 -06:00
Ward Fisher
ce20f3bf53 Corrected a build issue on windows for tst_diskless5, and updated release notes. 2017-05-04 10:58:18 -06:00
Dennis Heimbigner
455f3b9976 typo 2017-05-03 10:19:35 -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
6d8809100f Fix pull request https://github.com/Unidata/netcdf-c/pull/374 (dap4.dmh)
1. When running under windows (as opposed to cygwin)
   we need to make sure to not user /cygdrive/ file paths.
   This was ocurring in libdap4/d4read.c, but may occur
   elsewhere.
2. Shell scripts in the git repo are not being checked-out
   with the executable mode set. Had core.filemode set to false.
   Was a major hassle to fix.
2017-04-03 21:39:44 -06:00
Wei-keng Liao
1af2643fb8 rename macro ERR to ERR_CHK, as ERR is already defined in err_macros.h 2017-04-03 22:17:36 -05:00
Dennis Heimbigner
5f15c9e777 1) master merge 2)fix uname -o problem 2017-03-30 16:21:31 -06:00
Ward Fisher
45e30475f6 Updated release notes to reflect new return, modified test to check for proper expected return value. 2017-03-29 15:47:48 -06:00
Ward Fisher
92ef49d4ed Updated release notes. 2017-03-29 15:43:45 -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
e5fb53f996 Restored line that was accidentally removed. 2017-03-29 11:38:59 -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
2bf5f09bcc Corrected an issue on *nix systems 2017-03-16 15:13:38 -06:00
Ward Fisher
80d2b914a1 Updates for Visual-Studio-based builds. 2017-03-16 14:34:33 -06:00
Ward Fisher
53c018a3f6 Attempting to fix visual studio errors in support of https://github.com/Unidata/netcdf-c/pull/375 2017-03-13 15:12:47 -06:00
Wei-keng Liao
01cf5f4339 silence warnings from Travis CI 2017-03-11 12:51:04 -06:00
Wei-keng Liao
af258dcec9 update for arm to use char as much as possible, instead of signed char 2017-03-10 12:00:59 -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
Ward Fisher
9db19d75ec Found what appears to be the issue in testing attributes. The code was casting a negative double to a char (unsigned, on ARM), resulting in a value of 0 instead of the expected value of -128. 2017-02-14 16:53:38 -07:00
Ward Fisher
047760bbf1 Changing data types to get tests to run on ARM. Once all tests are running (albeit as signed char instead of unsigned char) we can worry about modifying the tests so that what we want to test is what's being tested. 2017-02-14 16:48:52 -07:00
Ward Fisher
50155b0170 More debugging in support of https://github.com/Unidata/netcdf-c/issues/319. 2017-02-14 12:34:31 -07:00
Ward Fisher
e100aaf6b0 We cannot assume char is signed or unsigned. 2017-02-07 14:20:59 -07:00
Ward Fisher
7a0e61f97c Corrected first test failure in nc_test. Cannot assume MAX_CHAR is 255, as char is not universally unsigned by default. 2017-02-07 11:41:55 -07:00
Wei-keng Liao
340f0d2a91 Classic Format Specification says: Header padding uses null (\x00) bytes 2016-11-28 11:54:16 -06:00
Wei-keng Liao
ab73a57fca Merge branch 'master' into issue258 2016-11-25 10:49:03 -06:00
Ward Fisher
b4785f4081 Housekeeping on large file tests. 2016-11-18 15:48:58 -07:00
Wei-keng Liao
33865dfbf8 skip tests that are incompatible with the earlier PnetCDF versions, eg. 1.6.0, 1.6.1 and 1.7.0 2016-11-18 01:29:59 -06:00
Wei-keng Liao
38e40a14d2 sync with PnetCDF nc_test files (add a few more testings) 2016-11-14 11:19:23 -06:00
Wei-keng Liao
2081ae7099 add configure option --enable-relax-coord-bound for issue #243 2016-11-12 23:58:09 -06:00
Wei-keng Liao
e357696c8d sync with PnetCDF on use of NC_ENULLSTART and NC_ENULLCOUNT 2016-11-04 17:29:40 -05:00
Wei-keng Liao
06c1f744e8 silence gcc compile warnings when using -Wconversion 2016-10-30 00:44:28 -05:00
Wei-keng Liao
04e5ff4c74 sync with master branch 2016-10-28 11:54:25 -05:00
Wei-keng Liao
309303e34e remove argument fillv for get APIs as we use default fill values for fillv 2016-10-28 10:34:51 -05:00
Wei-keng Liao
f19e4ce81e sync m4 files with PnetCDF 2016-10-25 15:11:16 -05:00
Wei-keng Liao
87fab92924 match type of a subroutine argument 2016-10-25 13:28:38 -05:00
Wei-keng Liao
d78ec898e5 SCHAR_MAX is 127, not 128 2016-10-25 13:21:54 -05:00
Ward Fisher
b37784ed7f Corrected parallel tests in support of https://github.com/Unidata/netcdf-c/issues.321 2016-10-24 22:45:15 +00:00
Ward Fisher
1c11fc5d59 More refactoring, pushing to avoid accidental loss. 2016-10-21 19:24:40 +00:00
Ward Fisher
157af11bc2 Refactoring tests to separate out error macros from tests, in support of fixing http://github.com/Unidata/netcdf-c/issues/321 2016-10-21 17:17:39 +00:00
Wei-keng Liao
08afcf1f88 add missing tests from the original netCDF 2016-10-13 13:25:16 -05:00
Wei-keng Liao
6737a38a24 add back a fix for NC_EDIMSIZE 2016-10-13 03:26:08 -05: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
Wei-keng Liao
ac86d8c9fb Update CMakeLists.txt due to test_read.c and test_write.c have been renamed to m4 files 2016-10-13 02:25:21 -05:00
Wei-keng Liao
3a93d84a67 borrow some m4 files from PnetCDF 2016-10-13 02:17:31 -05:00
Wei-keng Liao
fbbed1f9ff move ncid check to the first and add varid check before name check 2016-10-13 02:12:26 -05:00
Wei-keng Liao
c4a148e136 type cast (char) before comparison 2016-10-10 00:20:23 -05:00
Wei-keng Liao
835ff7cd1e make test subroutine return nok, add comments on X_CHAR_MIN and X_CHAR_MAX 2016-10-09 22:18:46 -05:00
Wei-keng Liao
9cf01256cf revise sunroutine equal, add equal2 for matched ityep and xtype APIs, and add nc_err_code_name 2016-10-09 22:16:09 -05:00
Wei-keng Liao
ecc851b21c borrow PnetCDF test_put.m4 2016-10-09 22:13:40 -05:00
Wei-keng Liao
aacb3c2e11 borrow PnetCDF test_get.m4 2016-10-09 22:13:30 -05:00
Wei-keng Liao
0eff6cb128 add CDF format checking in hash4 to exclude the NC_BYTE-to-uchar exception fro CDF-5 format 2016-10-08 13:48:22 -05:00
Wei-keng Liao
e1643f9fd8 handle special case when calling _uchar APIs to access NC_BYTE attributes/variables in CDF-2 file format (no NC_ERANGE check) 2016-10-06 00:50:52 -05:00
Wei-keng Liao
f8813bbd04 handle special case when calling _uchar APIs to access NC_BYTE attributes in CDF-2 file format 2016-10-06 00:49:13 -05:00
Ward Fisher
486f69522c Merged utility-based tests fix into cmake-based builds. 2016-08-31 15:48:10 -06: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
Greg Sjaardema
2bfd984fad Update testing -- not error if start==size 2016-07-21 09:30:18 -06:00
Dennis Heimbigner
11a259ad86 Add provenance info for netcdf-4 files.
This consists of a persistent attribute named
_NCProperties plus two computed attributes
_IsNetcdf4 and _SuperblockVersion.
See the 'Provenance Attributes' section
of docs/attribute_conventions.md for details.
2016-05-07 14:32:07 -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
d8592ef380 Updated tests now that things are passing. Added some true failures to test for as well. 2016-04-05 20:25:49 +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
aa6a3969b7 Included expected failures for netcdf-3 files and nc_inq_type. 2016-03-30 15:03:20 -06:00