Commit Graph

23 Commits

Author SHA1 Message Date
kevans
7ee7f8a82a Do a sweep and remove most WARNS=6 settings
Repeating the default WARNS here makes it slightly more difficult to
experiment with default WARNS changes, e.g. if we did something absolutely
bananas and introduced a WARNS=7 and wanted to try lifting the default to
that.

Drop most of them; there is one in the blake2 kernel module, but I suspect
it should be dropped -- the default WARNS in the rest of the build doesn't
currently apply to kernel modules, and I haven't put too much thought into
whether it makes sense to make it so.
2020-10-01 01:10:51 +00:00
ngie
7142f707da 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
ngie
7c9b4b7560 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
ngie
506bdc53a4 Use calloc instead of malloc + memset
MFC after:	3 days
Sponsored by:	Dell EMC Isilon
2017-05-27 23:57:09 +00:00
ngie
555e5795c9 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
ngie
4f2bfec9f9 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
ngie
900b63372c 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
ngie
2b681d4fca 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
ngie
dc6d01cb6c 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
ngie
7add7918c3 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
ngie
d084611314 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
ngie
d4600ad072 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
ngie
c1a1fe1bcd 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
ngie
7576c4e97c 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
ngie
a14547344d 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
ngie
b2b5ea3569 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
54e18e2978 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
6e4595cb7b 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
7e399ad83e 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
9ea593a1fb 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
6c3e0035da 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
d94a6a6215 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
37a0bbb7e5 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