summaryrefslogtreecommitdiffstats
path: root/test/swmr.c
diff options
context:
space:
mode:
authorDana Robinson <43805+derobins@users.noreply.github.com>2021-03-11 21:34:55 (GMT)
committerGitHub <noreply@github.com>2021-03-11 21:34:55 (GMT)
commit6f760f200d6cb959c960b936af3fb2e68a55afde (patch)
tree65417bef3aaa8b351000377ad20de6687e34830f /test/swmr.c
parenta78aae1150ffdfd44ef64c46da099c9412a7c3d0 (diff)
downloadhdf5-6f760f200d6cb959c960b936af3fb2e68a55afde.zip
hdf5-6f760f200d6cb959c960b936af3fb2e68a55afde.tar.gz
hdf5-6f760f200d6cb959c960b936af3fb2e68a55afde.tar.bz2
Replaces checks for fork, etc. with checks for unistd.h (#457)
* Replaces checks for fork, etc. with H5_HAVE_UNISTD_H Code previously checked for individual POSIX API calls using H5_HAVE_FORK, etc. The calls we use have been standardized for decades and available via unistd.h. Some test messages that were missing when tests are skipped due to a lack of unistd.h were also added. The configure checks for individual POSIX API calls will be removed in a later commit. * Stupid formatter
Diffstat (limited to 'test/swmr.c')
-rw-r--r--test/swmr.c68
1 files changed, 45 insertions, 23 deletions
diff --git a/test/swmr.c b/test/swmr.c
index fd78117..2f90114 100644
--- a/test/swmr.c
+++ b/test/swmr.c
@@ -2341,17 +2341,24 @@ error:
* (5) Parent: open a file with write access; enable SWMR writing mode
* Child: concurrent open of the file with write and SWMR write access (fail)
*/
-#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID))
+#ifndef H5_HAVE_UNISTD_H
static int
-test_start_swmr_write_concur(hid_t H5_ATTR_UNUSED in_fapl, hbool_t H5_ATTR_UNUSED new_format)
+test_start_swmr_write_concur(hid_t H5_ATTR_UNUSED in_fapl, hbool_t new_format)
{
+ if (new_format) {
+ TESTING("H5Fstart_swmr_write()--concurrent access for latest format");
+ }
+ else {
+ TESTING("H5Fstart_swmr_write()--concurrent access for non-latest-format");
+ }
+
SKIPPED();
- HDputs(" Test skipped due to fork or waitpid not defined.");
+ HDputs(" Test skipped due to a lack of unistd.h functionality.");
return 0;
} /* test_start_swmr_write_concur() */
-#else /* defined(H5_HAVE_FORK && defined(H5_HAVE_WAITPID) */
+#else /* H5_HAVE_UNISTD_H */
static int
test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
@@ -2383,7 +2390,7 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
}
else {
TESTING("H5Fstart_swmr_write()--concurrent access for non-latest-format");
- } /* end if */
+ }
if ((fapl = H5Pcopy(in_fapl)) < 0)
FAIL_STACK_ERROR
@@ -2944,7 +2951,7 @@ error:
return -1;
} /* test_start_swmr_write_concur() */
-#endif /* !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID)) */
+#endif /* H5_HAVE_UNISTD_H */
/*
* test_start_swmr_write_stress_ohdr():
@@ -4675,7 +4682,7 @@ error:
** This is for concurrent access.
**
*****************************************************************/
-#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID) && defined(H5_HAVE_FLOCK))
+#ifndef H5_HAVE_UNISTD_H
static int
test_file_lock_concur(hid_t H5_ATTR_UNUSED in_fapl)
@@ -4683,12 +4690,12 @@ test_file_lock_concur(hid_t H5_ATTR_UNUSED in_fapl)
/* Output message about test being performed */
TESTING("File open with different combinations of flags--concurrent access");
SKIPPED();
- HDputs(" Test skipped due to fork, waitpid, or flock not defined.");
+ HDputs(" Test skipped due to a lack of unistd.h functionality.");
return 0;
} /* end test_file_lock_concur() */
-#else
+#else /* H5_HAVE_UNISTD_H */
static int
test_file_lock_concur(hid_t in_fapl)
@@ -5046,7 +5053,7 @@ error:
} /* end test_file_lock_concur() */
-#endif /* !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID) && defined(H5_HAVE_FLOCK)) */
+#endif /* H5_HAVE_UNISTD_H */
/****************************************************************
**
@@ -5056,7 +5063,7 @@ error:
** This is for concurrent access.
**
*****************************************************************/
-#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID))
+#ifndef H5_HAVE_UNISTD_H
static int
test_file_lock_swmr_concur(hid_t H5_ATTR_UNUSED in_fapl)
@@ -5064,12 +5071,12 @@ test_file_lock_swmr_concur(hid_t H5_ATTR_UNUSED in_fapl)
/* Output message about test being performed */
TESTING("File open with different combintations of flags + SWMR flags--concurrent access");
SKIPPED();
- HDputs(" Test skipped due to fork or waitpid not defined.");
+ HDputs(" Test skipped due to a lack of unistd.h functionality.");
return 0;
} /* end test_file_lock_swmr_concur() */
-#else
+#else /* H5_HAVE_UNISTD_H */
static int
test_file_lock_swmr_concur(hid_t in_fapl)
@@ -6036,7 +6043,7 @@ error:
} /* end test_file_lock_swmr_concur() */
-#endif /* !(defined(H5_HAVE_FORK && defined(H5_HAVE_WAITPID)) */
+#endif /* H5_HAVE_UNISTD_H */
/****************************************************************
**
@@ -6048,11 +6055,19 @@ error:
static int
test_file_locking(hid_t in_fapl, hbool_t turn_locking_on, hbool_t env_var_override)
{
-#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID))
+#ifndef H5_HAVE_UNISTD_H
+ if (turn_locking_on && env_var_override)
+ TESTING("File locking: ON w/ env var override")
+ else if (turn_locking_on && !env_var_override)
+ TESTING("File locking: ON")
+ else if (!turn_locking_on && env_var_override)
+ TESTING("File locking: OFF w/ env var override")
+ else
+ TESTING("File locking: OFF")
SKIPPED();
- HDputs(" Test skipped due to fork or waitpid not defined.");
+ HDputs(" Test skipped due to a lack of unistd.h functionality.");
return 0;
-#else
+#else /* H5_HAVE_UNISTD_H */
hid_t fid = -1; /* File ID */
hid_t fapl = -1; /* File access property list */
char filename[NAME_BUF_SIZE]; /* file name */
@@ -6218,7 +6233,7 @@ error:
return -1;
-#endif /* !(defined(H5_HAVE_FORK && defined(H5_HAVE_WAITPID)) */
+#endif /* H5_HAVE_UNISTD_H */
} /* end test_file_locking() */
@@ -6498,17 +6513,24 @@ error:
* (7) Refresh the dataset
* (8) Verify the dataset's dimension and data are correct
*/
-#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID))
+#ifndef H5_HAVE_UNISTD_H
static int
-test_refresh_concur(hid_t H5_ATTR_UNUSED in_fapl, hbool_t H5_ATTR_UNUSED new_format)
+test_refresh_concur(hid_t H5_ATTR_UNUSED in_fapl, hbool_t new_format)
{
+ if (new_format) {
+ TESTING("H5Drefresh()--concurrent access for latest format");
+ }
+ else {
+ TESTING("H5Drefresh()--concurrent access for non-latest-format");
+ }
+
SKIPPED();
- HDputs(" Test skipped due to fork or waitpid not defined.");
+ HDputs(" Test skipped due to a lack of unistd.h functionality.");
return 0;
} /* test_refresh_concur() */
-#else /* defined(H5_HAVE_FORK && defined(H5_HAVE_WAITPID) */
+#else /* H5_HAVE_UNISTD_H */
static int
test_refresh_concur(hid_t in_fapl, hbool_t new_format)
@@ -6808,7 +6830,7 @@ error:
return -1;
} /* test_refresh_concur() */
-#endif /* !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID)) */
+#endif /* H5_HAVE_UNISTD_H */
/*
* test_multiple_same():