diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2016-03-04 19:49:14 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2016-03-04 19:49:14 (GMT) |
commit | 9592119ffd4b87b3cdb08f1ad8eaf7f3d221554c (patch) | |
tree | 7cf325e26c3422dadb5d2e0e73e73ab4a0cf583c /hl/test/test_packet.c | |
parent | 6e7e6bb3aa3b0106d44d7b50e79d1c6281940257 (diff) | |
download | hdf5-9592119ffd4b87b3cdb08f1ad8eaf7f3d221554c.zip hdf5-9592119ffd4b87b3cdb08f1ad8eaf7f3d221554c.tar.gz hdf5-9592119ffd4b87b3cdb08f1ad8eaf7f3d221554c.tar.bz2 |
[svn-r29269] Purpose: Improve Packet Table library
Description:
The Packet Table API used to have fixed-length and variable-length functions
(i.e., H5PTcreate_fl and H5PTcreate_vl), but in 2006, the vlen functions
were ifdef'ed out with VLPT_REMOVED, see HDFFV-442. The majority of this
revision includes removing unused vlen stuff, adding various vlen tests,
initial code cleanup, and first pass of commenting.
Details:
- Removed the VLPT_REMOVED ifdef, but keep H5PTis_varlen and the free
function because they are useful or even needed, but the free
function's name is changed to be more appropriate for both
read/write buffers, i.e., H5PTfree_vlen_buff.
- The new test file, test_packet_vlen.c, contains tests showing packet
tables, containing various types of vlen data, can be created with
the fixed-length function
- Two accessor functions were added per HDFFV-8623/patch 003.
/* Returns the ID of the dataset associated with the packet table */
hid_t H5PTget_dataset(hid_t table_id);
/* Returns the ID of the datatype the packet table uses */
hid_t H5PTget_type(hid_t table_id);
- Various cleanup: replacing 0/-1 with SUCCEED/FAIL and H5I_BADID with
H5I_INVALID_HID, and removing many warnings.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Diffstat (limited to 'hl/test/test_packet.c')
-rw-r--r-- | hl/test/test_packet.c | 520 |
1 files changed, 170 insertions, 350 deletions
diff --git a/hl/test/test_packet.c b/hl/test/test_packet.c index 345aecb..e2ca2b5 100644 --- a/hl/test/test_packet.c +++ b/hl/test/test_packet.c @@ -31,9 +31,6 @@ #define TEST_FILE_NAME "test_packet_table.h5" #define TEST_COMPRESS_FILE "test_packet_compress.h5" #define PT_NAME "Test Packet Table" -#ifdef VLPT_REMOVED -#define VL_TABLE_NAME "Varlen Test Table" -#endif /* VLPT_REMOVED */ #define H5TB_TABLE_NAME "Table1" /*------------------------------------------------------------------------- @@ -77,9 +74,9 @@ static int cmp_par(size_t i, size_t j, particle_t *rbuf, particle_t *wbuf ) rbuf[i].longi != wbuf[j].longi || !H5_FLT_ABS_EQUAL(rbuf[i].pressure,wbuf[j].pressure) || !H5_DBL_ABS_EQUAL(rbuf[i].temperature,wbuf[j].temperature) ) { - return -1; + return FAIL; } - return 0; + return SUCCEED; } /*------------------------------------------------------------------------- @@ -95,22 +92,22 @@ make_particle_type(void) /* Create the memory data type. */ if ((type_id = H5Tcreate (H5T_COMPOUND, type_size )) < 0 ) - return -1; + return FAIL; /* Insert fields. */ string_type = H5Tcopy( H5T_C_S1 ); H5Tset_size( string_type, (size_t)16 ); if ( H5Tinsert(type_id, "Name", HOFFSET(particle_t, name) , string_type ) < 0 ) - return -1; + return FAIL; if ( H5Tinsert(type_id, "Lat", HOFFSET(particle_t, lati) , H5T_NATIVE_INT ) < 0 ) - return -1; + return FAIL; if ( H5Tinsert(type_id, "Long", HOFFSET(particle_t, longi) , H5T_NATIVE_INT ) < 0 ) - return -1; + return FAIL; if ( H5Tinsert(type_id, "Pressure", HOFFSET(particle_t, pressure) , H5T_NATIVE_FLOAT ) < 0 ) - return -1; + return FAIL; if ( H5Tinsert(type_id, "Temperature", HOFFSET(particle_t, temperature) , H5T_NATIVE_DOUBLE ) < 0 ) - return -1; + return FAIL; return type_id; } @@ -156,9 +153,9 @@ static int create_hl_table(hid_t fid) chunk_size, fill_data, compress, testPart ); if(status<0) - return -1; + return FAIL; else - return 0; + return SUCCEED; } @@ -188,23 +185,21 @@ static int test_create_close(hid_t fid) table = H5PTcreate_fl(fid, PT_NAME, part_t, (hsize_t)100, -1); H5Tclose(part_t); if( H5PTis_valid(table) < 0) - goto out; -#ifdef VLPT_REMOVED + goto error; if( H5PTis_varlen(table) != 0) - goto out; -#endif /* VLPT_REMOVED */ + goto error; /* Close the table */ err = H5PTclose(table); if( err < 0) - goto out; + goto error; PASSED(); - return 0; + return SUCCEED; - out: +error: H5_FAILED(); - return -1; + return FAIL; } /*------------------------------------------------------------------------- @@ -224,23 +219,22 @@ static int test_open(hid_t fid) /* Open the table */ table = H5PTopen(fid, PT_NAME); if( H5PTis_valid(table) < 0) - goto out; -#ifdef VLPT_REMOVED + goto error; if( H5PTis_varlen(table) != 0) - goto out; -#endif /* VLPT_REMOVED */ + goto error; /* Close the table */ err = H5PTclose(table); if( err < 0) - goto out; + goto error; PASSED(); - return 0; + return SUCCEED; - out: +error: + if (table > 0) H5PTclose(table); H5_FAILED(); - return -1; + return FAIL; } /*------------------------------------------------------------------------- @@ -261,52 +255,52 @@ static int test_append(hid_t fid) /* Open the table */ table = H5PTopen(fid, PT_NAME); if( H5PTis_valid(table) < 0) - goto out; + goto error; /* Count the number of packets in the table */ err = H5PTget_num_packets(table, &count); if( err < 0) - goto out; + goto error; /* There should be 0 records in the table */ if( count != 0 ) - goto out; + goto error; /* Append one particle */ err = H5PTappend(table, (size_t)1, &(testPart[0])); if( err < 0) - goto out; + goto error; /* Append several particles */ err = H5PTappend(table, (size_t)6, &(testPart[1])); if( err < 0) - goto out; + goto error; /* Append one more particle */ err = H5PTappend(table, (size_t)1, &(testPart[7])); if( err < 0) - goto out; + goto error; /* Count the number of packets in the table */ err = H5PTget_num_packets(table, &count); if( err < 0) - goto out; + goto error; /* There should be 8 records in the table now */ if( count != 8 ) - goto out; + goto error; /* Close the table */ err = H5PTclose(table); if( err < 0) - goto out; + goto error; PASSED(); - return 0; + return SUCCEED; - out: +error: H5_FAILED(); - if( H5PTis_valid(table) < 0) + if( H5PTis_valid(table) > 0) H5PTclose(table); - return -1; + return FAIL; } /*------------------------------------------------------------------------- @@ -328,44 +322,44 @@ static int test_read(hid_t fid) /* Open the table */ table = H5PTopen(fid, PT_NAME); if( H5PTis_valid(table) < 0) - goto out; + goto error; /* Read several particles */ err = H5PTread_packets(table, (hsize_t)0, 3, &(readBuf[0])); if( err < 0) - goto out; + goto error; /* Read one particle */ err = H5PTread_packets(table, (hsize_t)3, 1, &(readBuf[3])); if( err < 0) - goto out; + goto error; /* Read several particles */ err = H5PTread_packets(table, (hsize_t)4, (NRECORDS - 4 ), &(readBuf[4])); if( err < 0) - goto out; + goto error; /* Ensure that particles were read correctly */ for(c=0; c<NRECORDS; c++) { if( cmp_par(c%8, c, testPart, readBuf) != 0) - goto out; + goto error; } /* Close the table */ err = H5PTclose(table); if( err < 0) - goto out; + goto error; PASSED(); - return 0; + return SUCCEED; - out: +error: H5_FAILED(); - if( H5PTis_valid(table) < 0) + if( H5PTis_valid(table) > 0) H5PTclose(table); - return -1; + return FAIL; } /*------------------------------------------------------------------------- @@ -389,21 +383,21 @@ static int test_get_next(hid_t fid) /* Open the table */ table = H5PTopen(fid, PT_NAME); if( H5PTis_valid(table) < 0) - goto out; + goto error; /* Read several particles consecutively */ for(c=0; c < NRECORDS; c++) { - err = H5PTget_next(table, 1, &readBuf[c]); + err = H5PTget_next(table, (size_t)1, &readBuf[c]); if(err < 0) - goto out; + goto error; } /* Ensure that particles were read correctly */ for(c=0; c<NRECORDS; c++) { if( cmp_par(c, c, testPart, readBuf) != 0) - goto out; + goto error; } H5PTcreate_index(table); @@ -411,31 +405,31 @@ static int test_get_next(hid_t fid) /* Read particles two by two */ for(c=0; c < NRECORDS / 2; c++) { - err = H5PTget_next(table, 2, &readBuf2[c * 2]); + err = H5PTget_next(table, (size_t)2, &readBuf2[c * 2]); if(err < 0) - goto out; + goto error; } /* Ensure that particles were read correctly */ for(c=0; c<NRECORDS; c++) { if( cmp_par(c, c, testPart, readBuf2) != 0) - goto out; + goto error; } /* Close the table */ err = H5PTclose(table); if( err < 0) - goto out; + goto error; PASSED(); - return 0; + return SUCCEED; - out: +error: H5_FAILED(); - if( H5PTis_valid(table) < 0) + if( H5PTis_valid(table) > 0) H5PTclose(table); - return -1; + return FAIL; } /*------------------------------------------------------------------------- @@ -466,7 +460,7 @@ static int test_big_table(hid_t fid) table = H5PTcreate_fl(fid, "Packet Test Dataset2", part_t, (hsize_t)33, -1); H5Tclose(part_t); if( H5PTis_valid(table) < 0) - goto out; + goto error; /* Add many particles */ for(c = 0; c < BIG_TABLE_SIZE ; c+=8) @@ -474,222 +468,44 @@ static int test_big_table(hid_t fid) /* Append eight particles at once*/ err = H5PTappend(table, (size_t)8, &(testPart[0])); if( err < 0) - goto out; + goto error; } /* Count the number of packets in the table */ err = H5PTget_num_packets(table, &count); if( err < 0) - goto out; + goto error; if( count != BIG_TABLE_SIZE ) - goto out; + goto error; /* Read particles to ensure that all of them were written correctly */ /* Also, ensure that H5PTcreate_fl set the current packet to */ /* the first packet in the table */ for(c = 0; c < BIG_TABLE_SIZE; c++) { - err = H5PTget_next(table, 1, &readPart); + err = H5PTget_next(table, (size_t)1, &readPart); if(err < 0) - goto out; + goto error; /* Ensure that particles were read correctly */ if( cmp_par(c % 8, 0, testPart, &readPart) != 0) - goto out; + goto error; } /* Close the table */ err = H5PTclose(table); if( err < 0) - goto out; + goto error; PASSED(); - return 0; + return SUCCEED; - out: +error: H5_FAILED(); - if( H5PTis_valid(table) < 0) + if( H5PTis_valid(table) > 0) H5PTclose(table); - return -1; -} - -#ifdef VLPT_REMOVED -/*------------------------------------------------------------------------- - * test_varlen - * - * Tests creation, opening, closing, writing, reading, etc. on a - * variable-length packet table. - * - *------------------------------------------------------------------------- - */ -static int test_varlen(hid_t fid) -{ - herr_t err; - hid_t table=H5I_BADID; - hsize_t count; - - /* Buffers to hold data */ - hvl_t writeBuffer[NRECORDS]; - hvl_t readBuffer[NRECORDS]; - - /* This example has three different sizes of "record": longs, shorts, and particles */ - long longBuffer[NRECORDS]; - short shortBuffer[NRECORDS]; - int x; - - TESTING("variable-length packet tables"); - - /* Initialize buffers */ - for(x=0; x<NRECORDS; x++) - { - longBuffer[x] = -x; - shortBuffer[x] = x; - } - - /* Fill the write buffer with a mix of variable types */ - for(x=0; x<8; x+=4) - { - writeBuffer[x].len = sizeof(long); - writeBuffer[x].p = &(longBuffer[x]); - writeBuffer[x+1].len = sizeof(short); - writeBuffer[x+1].p = &(shortBuffer[x+1]); - writeBuffer[x+2].len = sizeof(long); - writeBuffer[x+2].p = &(longBuffer[x+2]); - writeBuffer[x+3].len = sizeof(particle_t); - writeBuffer[x+3].p = &(testPart[x+3]); - } - - /* Create the table */ - table = H5PTcreate_vl(fid, VL_TABLE_NAME, (hsize_t)1001); - if( H5PTis_valid(table) < 0) - goto out; - if( H5PTis_varlen(table) != 1) - goto out; - - /* Count the number of packets in the table */ - err = H5PTget_num_packets(table, &count); - if( err < 0) - goto out; - if( count != 0 ) - goto out; - - /* Close the table */ - err = H5PTclose(table); - if( err < 0) - goto out; - - /* Re-open the table */ - table = H5PTopen(fid, VL_TABLE_NAME); - if( H5PTis_valid(table) < 0) - goto out; - if( H5PTis_varlen(table) != 1) - goto out; - - /* Count the number of packets in the table */ - err = H5PTget_num_packets(table, &count); - if( err < 0) - goto out; - if( count != 0 ) - goto out; - - /* Add several variable-length packets */ - err = H5PTappend(table, (size_t)8, writeBuffer ); - if(err < 0) - goto out; - - /* Read them back */ - err = H5PTread_packets(table, (hsize_t)0, 4, &(readBuffer[0])); - if( err < 0) - goto out; - err = H5PTread_packets(table, (hsize_t)4, 1, &(readBuffer[4])); - if( err < 0) - goto out; - err = H5PTread_packets(table, (hsize_t)5, (NRECORDS - 5 ), &(readBuffer[5])); - if( err < 0) - goto out; - - /* Ensure that packets were read correctly */ - for(x=0; x<NRECORDS; x++) - { - if( readBuffer[x].len != writeBuffer[x%4].len) - goto out; - switch(x%4) - { - case 0: - case 2: - if( *((long*)(readBuffer[x].p)) != *((long*)(writeBuffer[x].p))) - goto out; - break; - case 1: - if( *((short*)(readBuffer[x].p)) != *((short*)(writeBuffer[x].p))) - goto out; - break; - case 3: - if( cmp_par(0, 0, readBuffer[x].p, writeBuffer[x].p) < 0) - goto out; - break; - default: - goto out; - } - } - - /* Free memory used by read buffer */ - if(H5PTfree_vlen_readbuff(table, NRECORDS, readBuffer) <0) - goto out; - - /* Read packets back using get_next */ - for(x=0; x < NRECORDS; x++) - { - err = H5PTget_next(table, 1, &readBuffer[x]); - if(err < 0) - goto out; - } - - /* Ensure that packets were read correctly */ - for(x=0; x<NRECORDS; x++) - { - if( readBuffer[x].len != writeBuffer[x%4].len) - goto out; - switch(x%4) - { - case 0: - case 2: - if( *((long*)(readBuffer[x].p)) != *((long*)(writeBuffer[x].p))) - goto out; - break; - case 1: - if( *((short*)(readBuffer[x].p)) != *((short*)(writeBuffer[x].p))) - goto out; - break; - case 3: - if( cmp_par(0, 0, readBuffer[x].p, writeBuffer[x].p) < 0) - goto out; - break; - default: - goto out; - } - } - - /* Free memory used by read buffer */ - if(H5PTfree_vlen_readbuff(table, NRECORDS, readBuffer) <0) - goto out; - - /* Close the table */ - err = H5PTclose(table); - if( err < 0) - goto out; - - PASSED(); - return 0; - - out: - H5_FAILED(); - H5E_BEGIN_TRY - H5PTclose(table); - H5E_END_TRY - return -1; + return FAIL; } -#endif /* VLPT_REMOVED */ /*------------------------------------------------------------------------- * test_opaque @@ -710,50 +526,50 @@ static int test_opaque(hid_t fid) /* Create an opaque datatype for the particle struct */ if ((part_t = H5Tcreate (H5T_OPAQUE, sizeof(particle_t) )) < 0 ) - return -1; + return FAIL; HDassert(part_t != -1); /* Tag the opaque datatype */ if ( H5Tset_tag(part_t, "Opaque Particle" ) < 0) - return -1; + return FAIL; /* Create a new table */ table = H5PTcreate_fl(fid, "Packet Test Dataset3", part_t, (hsize_t)100, -1); H5Tclose(part_t); if( H5PTis_valid(table) < 0) - goto out; + goto error; /* Append several particles, starting at particle 1 */ err = H5PTappend(table, (size_t)(NRECORDS - 1), &(testPart[1])); if( err < 0) - goto out; + goto error; /* Read the particles back */ err = H5PTread_packets(table, (hsize_t)0, 7, &(readBuf[0])); if( err < 0) - goto out; + goto error; /* Ensure that particles were read correctly */ for(c=0; c<NRECORDS - 1; c++) { if( cmp_par(c+1, c, testPart, readBuf) != 0) - goto out; + goto error; } /* Close the table */ err = H5PTclose(table); if( err < 0) - goto out; + goto error; PASSED(); - return 0; + return SUCCEED; - out: +error: H5_FAILED(); - if( H5PTis_valid(table) < 0) + if( H5PTis_valid(table) > 0) H5PTclose(table); - return -1; + return FAIL; } /*------------------------------------------------------------------------- @@ -767,12 +583,12 @@ static int test_opaque(hid_t fid) static int test_compress(void) { - hid_t fid1 = -1; + hid_t fid1 = H5I_INVALID_HID; herr_t err; - hid_t table = -1; - hid_t part_t = -1; - hid_t dset_id = -1; - hid_t plist_id = -1; + hid_t table = H5I_INVALID_HID; + hid_t part_t = H5I_INVALID_HID; + hid_t dset_id = H5I_INVALID_HID; + hid_t plist_id = H5I_INVALID_HID; size_t c; size_t num_elems = 1; unsigned filter_vals[1]; @@ -812,7 +628,7 @@ test_compress(void) HDmemset(readPart, 0, sizeof(readPart)); for(c = 0; c < BIG_TABLE_SIZE; c++) { - err = H5PTget_next(table, 1, readPart); + err = H5PTget_next(table, (size_t)1, readPart); if(err < 0) TEST_ERROR; /* Ensure that particles were read correctly */ @@ -881,7 +697,7 @@ test_compress(void) if( err < 0) TEST_ERROR; PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -892,7 +708,7 @@ error: H5Fclose(fid1); } H5E_END_TRY H5_FAILED(); - return -1; + return FAIL; } /*------------------------------------------------------------------------- @@ -932,54 +748,54 @@ static int test_rw_nonnative_dt(hid_t fid) ptable = H5PTcreate_fl(fid, "Packet Test Dataset, Non-native", H5T_STD_I32LE, (hsize_t)100, -1); } if(ptable == H5I_INVALID_HID) - goto out; + goto error; /* Write one packet to the packet table */ - if( (err = H5PTappend(ptable, (hsize_t)1, &(writeBuffer[0]))) < 0 ) - goto out; + if( (err = H5PTappend(ptable, (size_t)1, &(writeBuffer[0]))) < 0 ) + goto error; /* Write several packets to the packet table */ - if( (err = H5PTappend(ptable, (hsize_t)4, &(writeBuffer[1]))) < 0) - goto out; + if( (err = H5PTappend(ptable, (size_t)4, &(writeBuffer[1]))) < 0) + goto error; if( (err = H5PTclose(ptable)) < 0) - goto out; + goto error; /* Open the Packet table */ if( (ptable = H5PTopen(fid, "Packet Test Dataset, Non-native")) < 0) - goto out; + goto error; /* Get the number of packets in the packet table. This should be five. */ if( (err = H5PTget_num_packets(ptable, &count)) < 0) - goto out; + goto error; if( (int)count != 5 ) - goto out; + goto error; /* Initialize packet table's "current record" */ if( (err = H5PTcreate_index(ptable)) < 0) - goto out; + goto error; /* Iterate through packets, read each one back */ for(x=0; x<5; x++) { - if( (err = H5PTget_next(ptable, (hsize_t)1, &(readBuffer[x]))) < 0) - goto out; + if( (err = H5PTget_next(ptable, (size_t)1, &(readBuffer[x]))) < 0) + goto error; if( x != readBuffer[x]) - goto out; + goto error; } /* Close the packet table */ if( (err = H5PTclose(ptable)) < 0) - goto out; + goto error; PASSED(); - return 0; + return SUCCEED; - out: +error: H5_FAILED(); - if( H5PTis_valid(ptable) < 0) + if( H5PTis_valid(ptable) > 0) H5PTclose(ptable); - return -1; + return FAIL; } /*------------------------------------------------------------------------- @@ -992,7 +808,7 @@ static int test_rw_nonnative_dt(hid_t fid) */ static int test_error(hid_t fid) { - hid_t id = H5I_BADID; + hid_t id = H5I_INVALID_HID; int id_open=0; particle_t readBuf[1]; @@ -1000,121 +816,121 @@ static int test_error(hid_t fid) /* Create a HL table */ if(create_hl_table(fid) < 0) - goto out; + goto error; /* Try to open things that are not packet tables */ H5E_BEGIN_TRY if(H5PTopen(fid, "Bogus_name") >= 0) - goto out; + goto error; if(H5PTopen(fid, "group1") >= 0) - goto out; + goto error; H5E_END_TRY /* Try to execute packet table commands on an invalid ID */ H5E_BEGIN_TRY if(H5PTis_valid(id) >= 0) - goto out; -#ifdef VLPT_REMOVED + goto error; if(H5PTis_varlen(id) >= 0) - goto out; -#endif /* VLPT_REMOVED */ + goto error; if(H5PTclose(id) >= 0) - goto out; + goto error; if(H5PTappend(id, (size_t)1, testPart) >= 0) - goto out; + goto error; if(H5PTread_packets(id, (hsize_t)0, 1, readBuf) >= 0) - goto out; + goto error; if(H5PTcreate_index(id) >= 0) - goto out; + goto error; if(H5PTset_index(id, (hsize_t)1) >= 0) - goto out; + goto error; if(H5PTget_index(id, NULL) >= 0) - goto out; + goto error; H5E_END_TRY /* Open a high-level non-packet (H5TB) table and try to */ /* execute commands on it. */ if((id=H5Dopen2(fid, H5TB_TABLE_NAME, H5P_DEFAULT)) <0) - goto out; + goto error; id_open = 1; H5E_BEGIN_TRY if(H5PTis_valid(id) >= 0) - goto out; -#ifdef VLPT_REMOVED + goto error; if(H5PTis_varlen(id) >= 0) - goto out; -#endif /* VLPT_REMOVED */ + goto error; if(H5PTclose(id) >= 0) - goto out; + goto error; if(H5PTappend(id, (size_t)1, testPart) >= 0) - goto out; + goto error; if(H5PTread_packets(id, (hsize_t)0, 1, readBuf) >= 0) - goto out; + goto error; if(H5PTcreate_index(id) >= 0) - goto out; + goto error; if(H5PTset_index(id, (hsize_t)1) >= 0) - goto out; + goto error; if(H5PTget_index(id, NULL) >= 0) - goto out; + goto error; H5E_END_TRY id_open=0; if(H5Dclose(id) <0) - goto out; + goto error; /* Open and close a packet table. Try to execute */ /* commands on the closed ID. */ if((id=H5PTopen(fid, PT_NAME))<0) - goto out; + goto error; if(H5PTclose(id) <0) - goto out; + goto error; H5E_BEGIN_TRY if(H5PTis_valid(id) >= 0) - goto out; -#ifdef VLPT_REMOVED + goto error; if(H5PTis_varlen(id) >= 0) - goto out; -#endif /* VLPT_REMOVED */ + goto error; if(H5PTclose(id) >= 0) - goto out; + goto error; if(H5PTappend(id, (size_t)1, testPart) >= 0) - goto out; + goto error; if(H5PTread_packets(id, (hsize_t)0, 1, readBuf) >= 0) - goto out; + goto error; if(H5PTcreate_index(id) >= 0) - goto out; + goto error; if(H5PTset_index(id, (hsize_t)1) >= 0) - goto out; + goto error; if(H5PTget_index(id, NULL) >= 0) - goto out; + goto error; H5E_END_TRY PASSED(); - return 0; + return SUCCEED; -out: +error: H5_FAILED(); if(id_open) H5Dclose(id); - return -1; + return FAIL; } - +/*------------------------------------------------------------------------- + * test_packet_table(): Invokes individual tests to ensure that all + * functions work correctly, except for the variable-length related + * functions, which are tested in "test_packet_vlen.c". + * + *------------------------------------------------------------------------- + */ static int test_packet_table(hid_t fid) { if( test_create_close(fid) < 0 ) - return -1; + return FAIL; if( test_open(fid) < 0 ) - return -1; + return FAIL; /* test_append must be run before test_count and test_read, as it */ /* creates the packet table they use. */ if( test_append(fid) < 0 ) - return -1; + return FAIL; /* These tests will not necessarily cause failures in each other, so we don't abort the other tests if one fails. */ @@ -1122,24 +938,24 @@ static int test_packet_table(hid_t fid) test_get_next(fid); test_big_table(fid); test_rw_nonnative_dt(fid); -#ifdef VLPT_REMOVED - test_varlen(fid); -#endif /* VLPT_REMOVED */ test_opaque(fid); test_compress(); test_error(fid); - return 0; + return SUCCEED; } +/* + * +*/ int main(void) { - /* identifier for the file */ - hid_t fid; - int status = 0; + /* identifier for the file that is used in FL PT tests */ + hid_t fid; + int status = 0; /*------------------------------------------------------------------------- - * Packet test: test each function of the packet table + * Packet test: test each function of the packet table library *------------------------------------------------------------------------- */ @@ -1148,12 +964,16 @@ int main(void) HDputs("Testing packet table"); - /* run tests */ - if ( test_packet_table(fid) < 0) - status = 1; + /* Test packet table with fixed length */ + if (test_packet_table(fid) < 0) + status = 1; + + /* Test packet table with variable length, using separate data file */ + if (test_packet_table_with_varlen() < 0) + status = 1; - /* close */ - H5Fclose(fid); + /* Close the file */ + H5Fclose(fid); - return status; + return status; } |