Commit Graph

13 Commits

Author SHA1 Message Date
David Young
89bf6de17f This test doesn't need to log/modify traps in the global heap, so don't
provide a H5HG_trap() routine.
2020-05-13 11:46:30 -05:00
David Young
cc6e4055cb Don't initialize seed without need. NFCI. 2020-05-11 17:24:53 -05:00
David Young
562d5beab2 Look for the personality in the program name *suffix*, because on
`jelly` libtool adds an `lt-` prefix to the program name.
2020-05-11 15:17:42 -05:00
David Young
c07a958e1d Insert a random delay between zoo-writer test steps. Let us control
the random seed with an environment variable, H5_ZOO_STEP_SEED, and the
maximum delay in milliseconds with a command-line option, `-m ms`.
2020-04-30 15:39:35 -05:00
David Young
fdeeac1c1b Use a one-character buffer to send/receive messages to/from
writer/reader, since that's all we need.  Avoid deadlock by flushing the
file before waiting for the reader's message.
2020-04-30 15:26:39 -05:00
David Young
17a1789b85 Change some fprintf callss to dbgf calls, and increase the debug level
of several dbgf statements from 1 to 2 so that `-q` quiets them.
2020-04-28 08:44:35 -05:00
David Young
a9849089c6 Delete dead code. Re-enable the coordination between reader and writer:
the writer expects to read a character on its standard input stream when
the reader is ready for it to delete the zoo content.
2020-04-23 15:31:56 -05:00
David Young
13e930d306 Add a skip compact configuration for skipping the "zoo" tests for
compact datasets.

Bundle the zoo-test configuration into a new type, zoo_config_t.

Add a couple new "zoo" test phases, "delete" and "validate-deletion", to
the existing "create" and "verify" phases.  Give names and numbers to
all phases with the new `enum`, `phase_t`, and refactor so that tend_zoo
runs a selection of phases at each step.

Stub the "delete" and "validate-deletion" phases for most test steps.
Actually implement for compact dataset (ds_cpt_i) test.

In tend_zoo(), delay for 50 milliseconds after running all steps.
Really, this should delay after each step....

Implement vfd_swmr_writer_may_increase_tick_to() and
vfd_swmr_reader_did_increase_tick_to() with a file that reader and
writer share.  The reader saves its current tick number in the shared
file.  The writer does not advance its tick number past the reader's.
Collect some statistics in vfd_swmr_writer_may_increase_tick_to() and
print them before the writer exits.

Add option flags for skipping compact dataset tests (-C) and for
printing error stacks (-e).  Update the usage message, which was
stale before the new options were added.

Delete some dead code.

Add #if 0'd-out code for the reader to wait for the writer before
running "delete" and "validate-deletion" steps.
2020-04-21 15:39:25 -05:00
David Young
9b5384b436 Add a reader personality to vfd_swmr_zoo_writer. Remove the disused
`-t` option.  Disable the error stack across create_/validate_zoo()
calls.
2020-03-31 13:14:59 -05:00
David Young
8ccff19e02 Add option flag -v for verbose messages. Alphabetize the options
switch-statement.
2020-03-24 15:35:47 -05:00
David Young
85f5bfb3b7 Use the name vfd_swmr_zoo.h5 for the zoo file, not vfd_swmr_vlstr.h5. 2020-03-23 14:57:58 -05:00
David Young
cb5e1ead29 Let tests provide a "hook" that runs after each step in create_zoo().
Provide a hook in vfd_swmr_zoo_writer that calls H5Fvfd_swmr_end_tick().
2020-03-23 14:55:07 -05:00
David Young
51b8fa3ffe Take a stab at a "zoo" writer for VFD SWMR: write all of the same
objects as the cache_image test does.  The zoo writer is a work in
progress.

This version is useful as a reproducer for the hang in the global heap
that I stumbled over, yesterday.  I run this to reproduce,

env HLOG="pbio=on" ./vfd_swmr_zoo_writer -W -a
2020-03-20 15:20:51 -05:00