313754 |
15-Feb-2017 |
asomers |
MFC r311893, r313008, r313081
I had to modify the tests slightly for the MFC to stable/10, because stable/10 lacks r294037, which enabled /sbin/md5 to work on md(4) devices.
r311893: ATFify the geom gate tests.
This ensures their cleanup routines will be run even if they should timeout.
tests/sys/geom/class/gate/ggate_test.sh tests/sys/geom/class/gate/Makefile Add an ATF test with three testcases, one for each TAP test. Use ATF-style cleanup functions, and convert sleeps to polling loops.
ObsoleteFiles.inc tests/sys/geom/class/gate/conf.sh tests/sys/geom/class/gate/1_test.sh tests/sys/geom/class/gate/2_test.sh tests/sys/geom/class/gate/3_test.sh Delete TAP test files
Reviewed by: ngie MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D8891
r313008: Wait for /dev/ggate* to appear after calling `ggatel create` in :ggatel_{file,md}
The test assumed that `ggatel create` created a device on completion, but that's incorrect. This squashes the race by waiting for the device to appear, as `ggatel create` daemonizes before issuing an ioctl to geom_gate(4) if not called with `-v`.
Discussed with: asomers MFC after: 1 week PR: 204616 Sponsored by: Dell EMC Isilon
r313081: Replace for/retry loops with "wait_for_ggate_device" calls and check results of commands
As noted in r313008, the underlying issue was that geom_gate device creation wasn't created at ggatel command completion, but some short time after. ggatec(8) employs similar logic when creating geom_gate(4) devices.
Switch from retry loops (after the ggatec/dd write calls) to wait_for_ggate_device function calls after calling ggatec(8) instead to detect the presence of the /dev/ggate* device, as this function is sufficient for determining whether or not the character device is ready for testing
While here, use atf_check consistently with all dd calls to ensure that data output is as expected.
MFC after: 1 week Reviewed by: asomers Differential Revision: D9409 Sponsored by: Dell EMC Isilon |
296822 |
14-Mar-2016 |
ngie |
MFC r293878,r293880,r295116,r295117,r295477:
r293878:
Remove unnecessary kldload logic added to geom_subr.sh in r293028
r293880:
PID file support hasn't been committed for ggated(8) yet. Unbreak running the testcase more than once by restoring the "killall ggated"
r295116:
Add an additional 1 second sleep to after calling ggatec before calling dd to defeat a race when writing out to the geom_gate(4) device
This will quell the Jenkins failure emails until I come up with a better solution
r295117:
Use the pidfile support added to ggated(8) in r294973 to ensure that the ggated(8) daemon used by the tests is the instance specifically invoked by the tests instead of one or more daemon instances running on the system
r295477:
Similar to r295116, add an additional 1 second sleep after calling ggatel before calling dd to defeat a race when writing out to the geom_gate(4) device |
296821 |
14-Mar-2016 |
ngie |
MFC r293821:
Integrate tools/regression/geom_{concat,eli,gate,mirror,nop,raid3,shsec,stripe,uzip} in to the FreeBSD test suite as tests/sys/geom/class/{concat,eli,gate,mirror,nop,raid3,shsec,stripe,uzip}
The tools/regression/geom and tools/regression/geom_part testcases are being left alone because both test sets are both currently broken.
The majority of this work was done on ^/user/ngie/more-tests2 . The differences are as follows: - tests/sys/geom/class/Makefile.inc is not present; it was inlined into the class's Makefiles for explicitness. - The testcases officially require root via kyua - The geom_gate(4) tests don't use the pidfile changes proposed in https://reviews.freebsd.org/D4836 . |
293821 |
13-Jan-2016 |
ngie |
Integrate tools/regression/geom_{concat,eli,gate,mirror,nop,raid3,shsec,stripe,uzip} in to the FreeBSD test suite as tests/sys/geom/class/{concat,eli,gate,mirror,nop,raid3,shsec,stripe,uzip}
The tools/regression/geom and tools/regression/geom_part testcases are being left alone because both test sets are both currently broken.
The majority of this work was done on ^/user/ngie/more-tests2 . The differences are as follows: - tests/sys/geom/class/Makefile.inc is not present; it was inlined into the class's Makefiles for explicitness. - The testcases officially require root via kyua - The geom_gate(4) tests don't use the pidfile changes proposed in https://reviews.freebsd.org/D4836 .
MFC after: 1 month Sponsored by: EMC / Isilon Storage Division
|
293815 |
13-Jan-2016 |
ngie |
Add conf.sh file missed in r293621
MFC after: 16 days Sponsored by: EMC / Isilon Storage Division
|
293622 |
09-Jan-2016 |
ngie |
Remove Makefile now that the testcases are all TAP based and prove -rv can be used on them
MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
|
293621 |
10-Jan-2016 |
ngie |
- Delete non-TAP testcases - Add a conf.sh file for executing common functions with geom_gate - Use attach_md for attaching md(4) devices - Don't hardcode /tmp for temporary files, which violates the kyua sandbox - Add/increase sleeps to try and improve synchronization - Add debug output for when checksums fail
test-1.t: - Use pkill for killing ggated
MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
|
137587 |
11-Nov-2004 |
nik |
Switch over to a different, more flexible test output protocol that's understood by Perl's Test::Harness module and prove(1) commands.
Update README to describe the new protocol. The work's broken down into two main sets of changes.
First, update the existing test programs (shell scripts and C programs) to produce output in the ok/not ok format, and to, where possible, also produce a header describing the number of tests that are expected to be run.
Second, provide the .t files that actually run the tests. In some cases these are copies of, or very similar too, scripts that already existed. I've kept the old scripts around so that it's possible to verify that behaviour under this new system (in terms of whether or not a test fails) is identical to the behaviour under the old system.
Add a TODO file.
|
128883 |
03-May-2004 |
pjd |
Add regression tests for GEOM Gate: - test-1.sh - Tests ggatec(8) and ggated(8) on lo0. - test-2.sh - Tests ggatel(8) on a regular file. - test-3.sh - Tests ggatel(8) on a md(4) device.
|