Commit Graph

22 Commits

Author SHA1 Message Date
Enji Cooper
22184bfa63 Improve handling with system state
- Always unlink $cmd after exit via END block.
- The tests don't function well if kern.geom.debugflags != 0. Save debugflags,
  then restore them at the end of the test.

MFC after:	1 month
Sponsored by:	Dell EMC Isilon
2017-06-10 20:56:31 +00:00
Enji Cooper
e15b2a7854 Don't explicitly get the class to PART in gctl_test_helper.c
This will allow the tool to be used with arbitrary geom(4) classes, like GEOM.

Specify class=PART explicitly in the tester to keep existing behavior.

MFC after:	1 month
Sponsored by:	Dell EMC Isilon
2017-06-10 19:48:45 +00:00
Enji Cooper
73dcfb8ddc Use calloc instead of malloc + memset
MFC after:	3 days
Sponsored by:	Dell EMC Isilon
2017-05-27 23:57:09 +00:00
Enji Cooper
67b1f73f1e gctl_test.t: catch errors with the mdcfg directive
While here, add a note about certain testcases relying on `count=1024` in
the "create" portion.

MFC after:	5 weeks
Sponsored by:	Dell EMC Isilon
2017-04-23 02:30:06 +00:00
Enji Cooper
d1f57d5900 gctl_test.t: improve error reporting with mdcfg and mount directives
If the commands had failed previously, it would press on and result in a
series of cascading failures. Fail early and continue on to the next case
instead of executing additional commands after a previously failed series
of steps.

MFC after:      5 weeks
Sponsored by:   Dell EMC Isilon
2017-04-22 23:30:02 +00:00
Enji Cooper
9940eaaa17 gctl_test.t: more tweaks to try and update the code and get it functional (again?)
- Make the logfile for $out be built off the basename for $cmd, instead of $cmd.
  (r317292 broke this assumption).
- Rename $mntpt to $mntpt_prefix for clarity, as this variable is a prefix for
  mountpoints.
- Reindent the umount directive block while here to match the rest of the code.

MFC after:	5 weeks
Sponsored by:	Dell EMC Isilon
2017-04-22 23:27:40 +00:00
Enji Cooper
414bf3a177 Use verb=delete not verb=remove
The `remove` verb hasn't been present in geom_part*(4) for well
over a decade, if ever. I couldn't find any references to it in
^/stable/5 at least, which is around the timeframe that this test
was written.

MFC after:	5 weeks
Sponsored by:	Dell EMC Isilon
2017-04-22 23:06:53 +00:00
Enji Cooper
acca703a09 gctl_test.t: minor tweaks
- Declare $count with the `my` scope operator to permit `use strict`.
- Add `use strict`.
- Use `use warnings` instead of using `-w` in the shebang.
- Don't unlink $cmd when done (prevents unnecessary rebuilding).
- Improve the error message when running with insufficient permissions, e.g.,
  non-root.

MFC after:	5 weeks
Sponsored by:	Dell EMC Isilon
2017-04-22 22:40:39 +00:00
Enji Cooper
29924a1c12 gctl_test_helper: add diagnostic output for parse_retval(..)
This will help end-users better diagnose issues with the function.

MFC after:	5 weeks
Sponsored by:	Dell EMC Isilon
2017-04-22 22:34:45 +00:00
Enji Cooper
d55eb4ff7e The GPT class no longer exists; use the PART class instead
MFC after:	5 weeks
Sponsored by:	Dell EMC Isilon
2017-04-22 20:51:54 +00:00
Enji Cooper
cb7cf35ee9 Bump WARNS to 6 per previous commits which fixed warnings
MFC after:	5 weeks
Tested with:	clang (4.0), gcc (4.2.1, 6.3.0)
Sponsored by:	Dell EMC Isilon
2017-04-22 20:29:56 +00:00
Enji Cooper
e1915a5901 gctl_test_helper: apply polish
- Staticize variables to fix warnings.
- Sprinkle asserts around for calls that can fail
- Apply style(9) for main(..) definition.
- ANSIify usage(..) definition.

MFC after:	5 weeks
Sponsored by:	Dell EMC Isilon
2017-04-22 20:27:46 +00:00
Enji Cooper
b58910a05f gctl_test.t: use make to compile gctl_test_helper instead of calling cc directly
MFC after:	5 weeks
Sponsored by:	Dell EMC Isilon
2017-04-22 20:15:47 +00:00
Enji Cooper
e02a067a1a Rename gctl.t to gctl_test.t and test.c to gctl_test_helper.c
This is being done to reduce ambiguity and to make the tests more portable
in the future to other locations in the source tree.

MFC after:	5 weeks
Sponsored by:	Dell EMC Isilon
2017-04-22 20:06:11 +00:00
Enji Cooper
b87e84c58a Fix -Wimplicit-function-declaration compilation warning by moving libgeom.h
#include below the stdio.h #include.

gctl_dump(3) needs stdio.h, per reasoning noted in r317289.

MFC after:	5 weeks
PR:		218809
Submitted by:	Chang-Hsien Tsai <luke.tw@gmail.com>
Sponsored by:	Dell EMC Isilon
2017-04-22 20:00:52 +00:00
Marcel Moolenaar
e717c486b3 MFp4:
o  Add mount and umount actions so that partitions can be in use.
o  Extend the testing of the add verb to include overlapping
   partitions.
o  Add tests for the remove verb. this includes tests to remove
   a partition when in use (i.e. is mounted).
o  Add a MD5 checksum to the output of the conf action so that
   it can be tested. Make sure the MD5 doesn't vary based on
   certain dynamic behaviour that is irrelevant to the output.
o  Add MD5 checksums to the expected result of conf actions.
2006-04-10 04:13:44 +00:00
Marcel Moolenaar
728f00f8c9 MFp4:
Add support for read-write parameters. Allow an optional initializer
for read-write parameters. Print the value of those parameters on
success following the PASS.
2006-04-10 04:07:20 +00:00
Marcel Moolenaar
735592906b Update to match geom_gpt:1.35
o  Change the result of gctl(001) now that a bogus verb still requires
   a valid geom,
o  Insert gctl(024) to test for an appropriate error when a bogus verb
   is given that does have a proper geom parameter.
2005-11-13 22:02:04 +00:00
Marcel Moolenaar
d453d31b41 Instead of saving the unit number of the md(4) device name, save the
whole name. This does not unnecessarily close the door that in some
future we want to test on something other than md(4) devices.

Also add a "conf" action so that we can check whether a gctl actually
did the right thing or not. It's one thing to check that the result
strings are as expected, but it doesn't tell us if the end result is
correct. This needs a bit more fleshing out, but for now a visual
(i.e. manual) check suffices.
2005-11-12 20:17:08 +00:00
Marcel Moolenaar
ada6a4d2b7 Rough implementation of the create and add verbs. The verbs cause
in-memory changes only and as such are only useful for prototyping
and regression testing purposes.
2005-10-09 17:10:35 +00:00
Marcel Moolenaar
b1fa310c00 o Extend the suite to run more than just the driver. We need to run
mdconfig(8), because we need a disk to work on.
o  Extend the number of tests now that we have a disk.
o  Simplify the driver. All parameters are ASCII strings now.
2005-09-19 06:51:57 +00:00
Marcel Moolenaar
6763e7c1ed Add the beginnings of a testsuite for testing GPT control requests.
The testsuite is based on a simple driver program that builds a
request from the arguments passed to it and issues the request to
Geom. The driver emits FAIL with the error string or PASS depending
on whether the request completed with an error or not. A -v option
has been added to the driver and causes the request to be dumped.
The -v option to prove(1) controls the -v option to the driver.

The testsuite itself contains a hash of which the key constitutes
the arguments and the value is the expected result.
2005-09-19 02:59:09 +00:00