diff options
author | Dana Robinson <43805+derobins@users.noreply.github.com> | 2022-03-10 18:22:16 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-10 18:22:16 (GMT) |
commit | b9470be379354af209daf8418b6c571dde99e776 (patch) | |
tree | eabf683eef30f9ebaa65a5d706ba43fc410bd8f2 /test/testvdsswmr.pwsh.in | |
parent | d5ddf61803f30e87bdfa629339fabf6fe1eb4a3c (diff) | |
download | hdf5-b9470be379354af209daf8418b6c571dde99e776.zip hdf5-b9470be379354af209daf8418b6c571dde99e776.tar.gz hdf5-b9470be379354af209daf8418b6c571dde99e776.tar.bz2 |
Plugin test cleanup (#1479)
* Autotools plugin test cleanup
* Combines filter, VFD, and VOL plugin tests
* Adds VFD plugin tests to the Autotools
* Implements a uniform shell script naming scheme in test/
* codespell fix
* Changes after code review
Diffstat (limited to 'test/testvdsswmr.pwsh.in')
-rw-r--r-- | test/testvdsswmr.pwsh.in | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/test/testvdsswmr.pwsh.in b/test/testvdsswmr.pwsh.in deleted file mode 100644 index bf5aabb..0000000 --- a/test/testvdsswmr.pwsh.in +++ /dev/null @@ -1,190 +0,0 @@ -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the COPYING file, which can be found at the root of the source code -# distribution tree, or in https://www.hdfgroup.org/licenses. -# If you do not have access to either file, you may request a copy from -# help@hdfgroup.org. -# -# Tests for the swmr feature using virtual datasets. - -$srcdir = '@srcdir@' -$utils_testdir=@H5_UTILS_TEST_BUILDDIR@ -$testdir=@H5_TEST_BUILDDIR@ - -############################################################################### -## test parameters -############################################################################### - -$Nwriters = 6 # number of writers (1 per source dataset) -$Nreaders = 5 # number of readers to launch -$nerrors = 0 - -############################################################################### -## definitions for message file to coordinate test runs -############################################################################### -$WRITER_MESSAGE = 'SWMR_WRITER_MESSAGE' # The message file created by writer that the open is complete - # This should be the same as the define in "test/swmr_common.h" -$MESSAGE_TIMEOUT = 300 # Message timeout length in secs - # This should be the same as the define in "test/h5test.h" - -# Print a line-line message left justified in a field of 70 characters -# beginning with the word "Testing". -# -function Test-WithSpaces { - $SPACES=' ' - #Write-Output "Testing $* $SPACES" | cut -c1-70 | tr -d '\012' -} - -# To wait for the writer message file or till the maximum # of seconds is reached -# $Message is the message file to wait for -# This performs similar function as the routine h5_wait_message() in test/h5test.c -function Wait-Message { - [CmdletBinding()] - param ( - [Parameter(Mandatory, ValueFromPipeline)] - [string]$TestPath, # Get the path of the message file to wait for - [Parameter(Mandatory, ValueFromPipeline)] - [string]$Message # Get the name of the message file to wait for - ) - - PROCESS { - $message = Join-Path -Path $TestPath -ChildPath $Message - $t0 = Get-Date # Get current time - $t1 = $t0 - $difft = New-Timespan -Start $t0 -End $t1 # Initialize the time difference - $mexist = 0 # Indicate whether the message file is found - while ($difft.TotalSeconds -lt $MESSAGE_TIMEOUT) { # Loop till message times out - $t1 = Get-Date # Get current time in seconds - $difft = New-Timespan -Start $t0 -End $t1 # Calculate the time difference - #Write-Output "Check for $message : time=$difft" - if ([System.IO.File]::Exists($message)) { # If message file is found: - $mexist = 1 # indicate the message file is found - Remove-Item $message # remove the message file - break # get out of the while loop - } - } - if ($mexist -eq 0) { - # Issue warning that the writer message file is not found, continue with launching the reader(s) - Write-Warning -Message "$WRITER_MESSAGE is not found after waiting $MESSAGE_TIMEOUT seconds" - } - else { - Write-Output "$WRITER_MESSAGE is found" - } - } -} - -############################################################################### -## Main -############################################################################### - -# Check to see if the VFD specified by the HDF5_DRIVER environment variable -# supports SWMR. -$testprog = Join-Path -Path $utils_testdir -ChildPath swmr_check_compat_vfd.exe -$rp = Start-Process -FilePath $testprog -PassThru -Wait -NoNewWindow -if ($rp.ExitCode -ne 0) { - Write-Output "" - Write-Output "The VFD specified by the HDF5_DRIVER environment variable" - Write-Output "does not support SWMR." - Write-Output "" - Write-Output "SWMR acceptance tests skipped" - Write-Output "" - exit 0 -} - -Set-Location -Path vds_swmr_test -$testdir = Join-Path -Path $testdir -ChildPath vds_swmr_test - -Write-Output "" -Write-Output "###############################################################################" -Write-Output "## Basic VDS SWMR test - writing to a tiled plane" -Write-Output "###############################################################################" - -# Launch the file generator -Write-Output "launch the swmr_generator" -$rp = Start-Process -FilePath $testdir/vds_swmr_gen.exe -NoNewWindow -PassThru -Wait -if ($rp.ExitCode -ne 0) { - Write-Warning "generator had error" - $nerrors += 1 -} - -# Check for error and exit if one occurred -#Write-Output "nerrors=$nerrors" -if ($nerrors -ne 0) { - Write-Warning "VDS SWMR tests failed with $nerrors errors." - exit 1 -} - -# Launch the writers -Write-Output "launch the $Nwriters SWMR VDS writers (1 per source)" -$pid_writers = @() -$n = 0 -while ($n -lt $Nwriters) { - $rp = Start-Process -FilePath $testdir/vds_swmr_writer.exe -NoNewWindow -PassThru -ArgumentList "$n" 2>&1 | tee swmr_writer.out.$n - $pid_writers += $rp.id - $n += 1 -} -#Write-Output "pid_writers=$pid_writers" - -# Sleep to ensure that the writers have started -Start-Sleep -Seconds 3 - -# Launch the readers -Write-Output "launch $Nreaders SWMR readers" -$pid_readers = @() -$n = 0 -while ($n -lt $Nreaders) { - $rp = Start-Process -FilePath $testdir/vds_swmr_reader.exe -NoNewWindow -PassThru 2>&1 | tee swmr_reader.out.$n - $pid_readers += $rp.id - $n += 1 -} -#Write-Output "pid_readers=$pid_readers" - -# Collect exit code of the writers -foreach ($xpid in $pid_writers) { - #Write-Output "checked writer $xpid" - $result = Wait-Process -Id $xpid - if ($result.ExitCode -ne 0) { - Write-Warning "writer had error" - $nerrors += 1 - } -} - -# Collect exit code of the readers -# (they usually finish after the writers) -foreach ($xpid in $pid_readers) { - #Write-Output "checked reader $xpid" - $result = Wait-Process -Id $xpid - if ($result.ExitCode -ne 0) { - Write-Warning "reader had error" - $nerrors += 1 - } -} - -# Check for error and exit if one occurred -#Write-Output "nerrors=$nerrors" -if ($nerrors -ne 0) { - Write-Warning "VDS SWMR tests failed with $nerrors errors." - exit 1 -} - -############################################################################### -## Report and exit -############################################################################### -cd .. -#Write-Output "nerrors=$nerrors" -if ($nerrors -eq 0) { - Write-Output "VDS SWMR tests passed." -# if test -z "$HDF5_NOCLEANUP"; then -# # delete the test directory -# Remove-Item vds_swmr_test -Recurse -# fi - exit 0 -} -else { - Write-Warning "VDS SWMR tests failed with $nerrors errors." - exit 1 -} - |