History log of /openbsd-current/share/mk/bsd.regress.mk
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.27 24-Sep-2023 tb

Make REGRESS_LOG more useful again

Enabling REGRESS_FAIL_EARLY made REGRESS_LOG error out at the first error,
which is pointless. So default to no if REGRESS_LOG is set unless the user
explicitly enabled it.

Requested by claudio
ok bluhm


# 1.26 15-Sep-2023 tb

Default REGRESS_FAIL_EARLY to yes

The current fail open behavior may be desirable in some circumstances,
but it is an unexpected and dangerous default since one expects some
kind of feedback when running a test suite. Currently failing tests are
only visible on inspecting the log, which led to unsuspecting people
missing failures several times in the past. Flip the default to fail
closed. For those that want to have the old behavior, it is easy enough
to set the variable to no.

Positive feedback job and schwarze
ok kn


Revision tags: OPENBSD_7_3_BASE
# 1.25 09-Dec-2022 tb

Allow overriding default run-regress-* targets

Overriding a default run-regress-* target with custom commands is already
possible and done by many tests. The fact that it currently works depends
on behavior in the BUGs section of make.1, however. The fix is not to add
commands if the target is already defined with commands.

tested by anton
correct fix from espie, ok anton


Revision tags: OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.24 31-Aug-2021 bluhm

Make include bsd.prog.mk is supporting PROGS for a while. Allow
multiple programs also in bsd.regress.mk for consistency.
OK anton@


Revision tags: OPENBSD_6_9_BASE
# 1.23 17-Dec-2020 bluhm

Run setup_once targets in a sepearate block with headline before
all other targets.
OK tb@


# 1.22 16-Dec-2020 bluhm

When debugging tests, it is useful to see the target name and which
output belongs to it. Echo headline with regress target and empty
line afterwards.
OK sthen@ tb@ OK claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.21 17-Jun-2019 espie

add REGRESS_EXPECTED_FAILURES variable,
for those tests that are expected to fail because they're not yet
implemented.

okay bluhm@


# 1.20 15-Jun-2019 espie

simplify cleanup handling
okay bluhm@


# 1.19 11-Jun-2019 espie

make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.26 15-Sep-2023 tb

Default REGRESS_FAIL_EARLY to yes

The current fail open behavior may be desirable in some circumstances,
but it is an unexpected and dangerous default since one expects some
kind of feedback when running a test suite. Currently failing tests are
only visible on inspecting the log, which led to unsuspecting people
missing failures several times in the past. Flip the default to fail
closed. For those that want to have the old behavior, it is easy enough
to set the variable to no.

Positive feedback job and schwarze
ok kn


Revision tags: OPENBSD_7_3_BASE
# 1.25 09-Dec-2022 tb

Allow overriding default run-regress-* targets

Overriding a default run-regress-* target with custom commands is already
possible and done by many tests. The fact that it currently works depends
on behavior in the BUGs section of make.1, however. The fix is not to add
commands if the target is already defined with commands.

tested by anton
correct fix from espie, ok anton


Revision tags: OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.24 31-Aug-2021 bluhm

Make include bsd.prog.mk is supporting PROGS for a while. Allow
multiple programs also in bsd.regress.mk for consistency.
OK anton@


Revision tags: OPENBSD_6_9_BASE
# 1.23 17-Dec-2020 bluhm

Run setup_once targets in a sepearate block with headline before
all other targets.
OK tb@


# 1.22 16-Dec-2020 bluhm

When debugging tests, it is useful to see the target name and which
output belongs to it. Echo headline with regress target and empty
line afterwards.
OK sthen@ tb@ OK claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.21 17-Jun-2019 espie

add REGRESS_EXPECTED_FAILURES variable,
for those tests that are expected to fail because they're not yet
implemented.

okay bluhm@


# 1.20 15-Jun-2019 espie

simplify cleanup handling
okay bluhm@


# 1.19 11-Jun-2019 espie

make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.25 09-Dec-2022 tb

Allow overriding default run-regress-* targets

Overriding a default run-regress-* target with custom commands is already
possible and done by many tests. The fact that it currently works depends
on behavior in the BUGs section of make.1, however. The fix is not to add
commands if the target is already defined with commands.

tested by anton
correct fix from espie, ok anton


Revision tags: OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.24 31-Aug-2021 bluhm

Make include bsd.prog.mk is supporting PROGS for a while. Allow
multiple programs also in bsd.regress.mk for consistency.
OK anton@


Revision tags: OPENBSD_6_9_BASE
# 1.23 17-Dec-2020 bluhm

Run setup_once targets in a sepearate block with headline before
all other targets.
OK tb@


# 1.22 16-Dec-2020 bluhm

When debugging tests, it is useful to see the target name and which
output belongs to it. Echo headline with regress target and empty
line afterwards.
OK sthen@ tb@ OK claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.21 17-Jun-2019 espie

add REGRESS_EXPECTED_FAILURES variable,
for those tests that are expected to fail because they're not yet
implemented.

okay bluhm@


# 1.20 15-Jun-2019 espie

simplify cleanup handling
okay bluhm@


# 1.19 11-Jun-2019 espie

make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.24 31-Aug-2021 bluhm

Make include bsd.prog.mk is supporting PROGS for a while. Allow
multiple programs also in bsd.regress.mk for consistency.
OK anton@


Revision tags: OPENBSD_6_9_BASE
# 1.23 17-Dec-2020 bluhm

Run setup_once targets in a sepearate block with headline before
all other targets.
OK tb@


# 1.22 16-Dec-2020 bluhm

When debugging tests, it is useful to see the target name and which
output belongs to it. Echo headline with regress target and empty
line afterwards.
OK sthen@ tb@ OK claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.21 17-Jun-2019 espie

add REGRESS_EXPECTED_FAILURES variable,
for those tests that are expected to fail because they're not yet
implemented.

okay bluhm@


# 1.20 15-Jun-2019 espie

simplify cleanup handling
okay bluhm@


# 1.19 11-Jun-2019 espie

make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.23 17-Dec-2020 bluhm

Run setup_once targets in a sepearate block with headline before
all other targets.
OK tb@


# 1.22 16-Dec-2020 bluhm

When debugging tests, it is useful to see the target name and which
output belongs to it. Echo headline with regress target and empty
line afterwards.
OK sthen@ tb@ OK claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.21 17-Jun-2019 espie

add REGRESS_EXPECTED_FAILURES variable,
for those tests that are expected to fail because they're not yet
implemented.

okay bluhm@


# 1.20 15-Jun-2019 espie

simplify cleanup handling
okay bluhm@


# 1.19 11-Jun-2019 espie

make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.23 17-Dec-2020 bluhm

Run setup_once targets in a sepearate block with headline before
all other targets.
OK tb@


# 1.22 16-Dec-2020 bluhm

When debugging tests, it is useful to see the target name and which
output belongs to it. Echo headline with regress target and empty
line afterwards.
OK sthen@ tb@ OK claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.21 17-Jun-2019 espie

add REGRESS_EXPECTED_FAILURES variable,
for those tests that are expected to fail because they're not yet
implemented.

okay bluhm@


# 1.20 15-Jun-2019 espie

simplify cleanup handling
okay bluhm@


# 1.19 11-Jun-2019 espie

make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.21 17-Jun-2019 espie

add REGRESS_EXPECTED_FAILURES variable,
for those tests that are expected to fail because they're not yet
implemented.

okay bluhm@


# 1.20 15-Jun-2019 espie

simplify cleanup handling
okay bluhm@


# 1.19 11-Jun-2019 espie

make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.20 15-Jun-2019 espie

simplify cleanup handling
okay bluhm@


# 1.19 11-Jun-2019 espie

make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.19 11-Jun-2019 espie

make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.18 14-May-2019 bluhm

Remove the REGRESS_MAXTIME feature from regress framework. The
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@


Revision tags: OPENBSD_6_5_BASE
# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.17 03-Dec-2018 bluhm

If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,
print SKIPPED. This helps to detect such incomplete tests.
OK anton@


Revision tags: OPENBSD_6_4_BASE
# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.16 05-Oct-2018 bluhm

Add regress variable to run setup once for all tests.
OK anton@ benno@


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.15 26-Sep-2018 bluhm

Add variables for setup and cleanup of regression tests.
OK anton@ jca@ tb@ benno@


Revision tags: OPENBSD_6_3_BASE
# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).


# 1.14 15-Jan-2018 bluhm

We have no deprecated regress variables in our tree. Remove the
compatibility layer.


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.13 19-Jul-2014 miod

Explicitely check the value of REGRESS_SKIP_SLOW rather than its emptyness,
for it defaults to a non-empty value; Doug Hogan


Revision tags: OPENBSD_5_5_BASE
# 1.12 01-Aug-2013 kettenis

Don't error out if there are no regression for a particular architecture in
a subdirectory.


Revision tags: OPENBSD_5_4_BASE
# 1.11 14-Jun-2013 halex

introduce REGRESS_FAIL_EARLY to stop regression tests at first
encountered failure

ok phessler@ bluhm@


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.10 02-Sep-2002 avsm

- Precede internal bsd.regress.mk variables with a _
- Rename old variables to be easier to read, and deprecate old
variables. The old variables will still work, but emit warnings.
- REGRESS_SKIP_SLOW only needs to be non-empty now, not explicitly
set to 'yes'
- REGRESS_LOG can contain more than one file to append results to
- ERRORS variable can be set in Makefile to emit warnings or indicate
fatal errors.
- Add REGRESS_MAIL variable which can be set to an email address to
send results to. Currently this only works for a full regression
run, since art doesnt want partial run results
- sync bsd.regress.mk(5) with these changes

ok art@ , also looked over by miod@


Revision tags: OPENBSD_3_1_BASE
# 1.9 17-Feb-2002 marc

skip tests that require root (REGRESSROOTTARGETS) unless
the user is root or SUDO is not empty. OK art@


# 1.8 03-Jan-2002 brad

use :L variable modifier


# 1.7 03-Jan-2002 art

make regress the main target
(now that dependencies are correct)


# 1.6 03-Jan-2002 art

OpenBSD tag


# 1.5 03-Jan-2002 art

s/timeout/possible timeout/ the test could simply fail.


# 1.4 03-Jan-2002 art

Two new variables.
REGRESSSLOWTARGETS, contains a list of all regress targets that are slow.
REGRESSSKIPSLOW, settable to "yes"/"no" (default is "no") when running
regress. Skips slow tests.

(*for some arbitrary and very subjective value of "slow")


# 1.3 03-Jan-2002 art

Support for a new variable REGRESSMAXTIME that sets the cpu time
ulimit for tests. Needed for libc_r tests.
With some help from marc@


# 1.2 02-Jan-2002 art

Eh? Why could I finish a make build with this 6 hours ago?


# 1.1 01-Jan-2002 art

Start for a framework for regression tests. Simplifies the most common
regress test targets, provides logging of success/failure and various
minor features.

Much Makefile magic from espie@ who thinks that my shell programming skills
are "atrocious" (and I agree).