Update devel/kyua to 0.11.

Released on October 23rd, 2014.

* Added support to print the details of all test cases (metadata and
  their output) to 'report'.  This is via a new '--verbose' flag which
  replaces the previous '--show-context'.

* Added support to specify the amount of physical disk space required
  by a test case.  This is in the form of a new "required_disk_space"
  metadata property, which can also be provided by ATF test cases as
  "require.diskspace".

* Assimilated the contents of all the kyua-*-tester(1) and
  kyua-*-interface(7) manual pages into more relevant places.  In
  particular, added more details on test program registration and their
  metadata to kyuafile(5), and added kyua-test-isolation(7) describing
  the isolation features of the test execution.

* Assimilated the contents of all auxiliary manual pages, including
  kyua-build-root(7), kyua-results-files(7), kyua-test-filters(7) and
  kyua-test-isolation(7), into the relevant command-specific manual
  pages.  This is for easier discoverability of relevant information
  when reading how specific Kyua commands work.

* Issue 30: Plumbed through support to query configuration variables
  from ATF's test case heads.  This resolves the confusing situation
  where test cases could only do this from their body and cleanup
  routines.

* Issue 49: Extended 'report' to support test case filters as
  command-line arguments.  Combined with '--verbose', this allows
  inspecting the details of a test case failure after execution.

* Issue 55: Deprecated support for specifying test_suite overrides on
  a test program basis.  This idiom should not be used but support for
  it remains in place.

* Issue 72: Added caching support to the getcwd(3) test in configure so
  that the result can be overriden for cross-compilation purposes.

* Issue 83: Changed manual page headings to include a "kyua" prefix in
  their name.  This prevents some possible confusion when displaying,
  for example, the "kyua-test" manual page with a plain name of "test".

* Issue 84: Started passing test-suite configuration variables to plain
  and TAP test programs via the environment.  The name of the
  environment variables set this way is prefixed by TEST_ENV_, so a
  configuration variable of the form
  'test_suites.some_name.allow_unsafe_ops=yes' in kyua.conf becomes
  'TEST_ENV_allow_unsafe_ops=YES' in the environment.

* Issue 97 and 116: Fixed the build on Illumos.

* Issue 102: Set TMPDIR to the test case's work directory when running
  the test case.  If the test case happens to use the mktemp(3) family
  of functions (due to misunderstandings on how Kyua works or due to
  the reuse of legacy test code), we don't want it to easily escape the
  automanaged work directory.

* Issue 103: Started being more liberal in the parsing of TAP test
  results by treating the number in 'ok' and 'not ok' lines as optional.

* Issue 105: Started using tmpfs instead of md as a temporary file
  system for tests in FreeBSD so that we do not leak md(4) devices.

* Issue 109: Changed the privilege dropping code to start properly
  dropping group privileges when unprivileged_user is set.  Also fixes
  testers/run_test:fork_wait__unprivileged_group.

* Issue 110: Changed 'help' to display version information and clarified
  the purpose of the 'about' command in its documentation.

* Issue 111: Fixed crash when defining a test program in a Kyuafile that
  has not yet specified the test suite name.

* Issue 114: Improved the kyuafile(5) manual page by clarifying the
  restrictions of the include() directive and by adding abundant
  examples.

Differential Revision:	https://reviews.freebsd.org/D1002
Approved by:	bapt
This commit is contained in:
Julio Merino 2014-10-30 16:42:21 +00:00
parent 1f8dffce6c
commit b8420c267f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=371764
4 changed files with 20 additions and 95 deletions

View File

@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= kyua
PORTVERSION= 0.10
PORTREVISION= 1
PORTVERSION= 0.11
PORTEPOCH= 2
CATEGORIES= devel
MASTER_SITES= https://github.com/jmmv/kyua/releases/download/${PORTNAME}-${PORTVERSION}/ \
@ -32,8 +31,8 @@ OPTIONS_DEFAULT=TEST
OPTIONS_SUB= yes
TEST_CONFIGURE_WITH= atf
TEST_BUILD_DEPENDS= atf>=0.20:${PORTSDIR}/devel/atf
TEST_RUN_DEPENDS= atf>=0.20:${PORTSDIR}/devel/atf
TEST_BUILD_DEPENDS= atf>=0.21:${PORTSDIR}/devel/atf
TEST_RUN_DEPENDS= atf>=0.21:${PORTSDIR}/devel/atf
.include <bsd.port.options.mk>

View File

@ -1,2 +1,2 @@
SHA256 (kyua-0.10.tar.gz) = d9497e92d8ff70e6a346c42e9b2c0b66127a418295097d0bcd61721020055783
SIZE (kyua-0.10.tar.gz) = 596671
SHA256 (kyua-0.11.tar.gz) = 2b8b64a458b642df75086eeb73e8073d105b8d9cff04c9b1a905b68bc8502560
SIZE (kyua-0.11.tar.gz) = 611865

View File

@ -1,67 +0,0 @@
Pull up upstream d71b7cecae5405c9a7042cd2376bcfd093b283dd to properly parse
the TAP output of many FreeBSD test programs.
--- testers/tap_parser.c
+++ testers/tap_parser.c
@@ -302,7 +302,7 @@ kyua_tap_parse(const int fd, FILE* output, kyua_tap_summary_t* summary)
}
regex_t preg;
- int code = regcomp(&preg, "^(not )?ok[ \t-]+[0-9]+", REG_EXTENDED);
+ int code = regcomp(&preg, "^(not )?ok[ \t-]+[0-9]*", REG_EXTENDED);
if (code != 0) {
error = regex_error_new(code, &preg, "regcomp failed");
goto out_input;
diff --git a/testers/tap_parser_test.c b/testers/tap_parser_test.c
index a7379d6..c71c5de 100644
--- testers/tap_parser_test.c
+++ testers/tap_parser_test.c
@@ -166,7 +166,7 @@ ATF_TC_WITHOUT_HEAD(parse__ok__pass);
ATF_TC_BODY(parse__ok__pass, tc)
{
const char* contents =
- "1..7\n"
+ "1..8\n"
"ok - 1\n"
" Some diagnostic message\n"
"ok - 2 This test also passed\n"
@@ -175,13 +175,14 @@ ATF_TC_BODY(parse__ok__pass, tc)
"not ok 4 # SKIP Some reason\n"
"not ok 5 # TODO Another reason\n"
"ok - 6 Doesn't make a difference SKIP\n"
- "ok - 7 Doesn't make a difference either TODO\n";
+ "ok - 7 Doesn't make a difference either TODO\n"
+ "ok # Also works without a number\n";
kyua_tap_summary_t summary;
kyua_tap_summary_init(&summary);
summary.first_index = 1;
- summary.last_index = 7;
- summary.ok_count = 7;
+ summary.last_index = 8;
+ summary.ok_count = 8;
summary.not_ok_count = 0;
ok_test(contents, &summary);
@@ -197,16 +198,17 @@ ATF_TC_BODY(parse__ok__fail, tc)
"not ok - 1 This test failed\n"
"ok - 2 This test passed\n"
"not ok - 3 This test failed\n"
- "1..5\n"
+ "1..6\n"
"not ok - 4 This test failed\n"
- "ok - 5 This test passed\n";
+ "ok - 5 This test passed\n"
+ "not ok # Fails as well without a number\n";
kyua_tap_summary_t summary;
kyua_tap_summary_init(&summary);
summary.first_index = 1;
- summary.last_index = 5;
+ summary.last_index = 6;
summary.ok_count = 2;
- summary.not_ok_count = 3;
+ summary.not_ok_count = 4;
ok_test(contents, &summary);
kyua_tap_summary_fini(&summary);

View File

@ -4,31 +4,19 @@ libexec/kyua-atf-tester
libexec/kyua-plain-tester
libexec/kyua-tap-tester
man/man1/kyua-about.1.gz
man/man1/kyua-atf-tester.1.gz
man/man1/kyua-config.1.gz
man/man1/kyua-db-exec.1.gz
man/man1/kyua-db-migrate.1.gz
man/man1/kyua-debug.1.gz
man/man1/kyua-help.1.gz
man/man1/kyua-list.1.gz
man/man1/kyua-plain-tester.1.gz
man/man1/kyua-report-html.1.gz
man/man1/kyua-report-junit.1.gz
man/man1/kyua-report.1.gz
man/man1/kyua-tap-tester.1.gz
man/man1/kyua-test.1.gz
man/man1/kyua-tester.1.gz
man/man1/kyua.1.gz
man/man5/kyua-tester-list.5.gz
man/man5/kyua-tester-result.5.gz
man/man5/kyua.conf.5.gz
man/man5/kyuafile.5.gz
man/man7/kyua-atf-interface.7.gz
man/man7/kyua-build-root.7.gz
man/man7/kyua-plain-interface.7.gz
man/man7/kyua-results-files.7.gz
man/man7/kyua-tap-interface.7.gz
man/man7/kyua-test-filters.7.gz
%%DATADIR%%/misc/context.html
%%DATADIR%%/misc/index.html
%%DATADIR%%/misc/report.css
@ -59,23 +47,20 @@ man/man7/kyua-test-filters.7.gz
%%TEST%%tests/kyua/cli/common_test
%%TEST%%tests/kyua/cli/config_test
%%TEST%%tests/kyua/cli/main_test
%%TEST%%tests/kyua/drivers/Kyuafile
%%TEST%%tests/kyua/drivers/list_tests_helpers
%%TEST%%tests/kyua/drivers/list_tests_test
%%TEST%%tests/kyua/drivers/report_junit_test
%%TEST%%tests/kyua/drivers/scan_results_test
%%TEST%%tests/kyua/engine/Kyuafile
%%TEST%%tests/kyua/engine/config_test
%%TEST%%tests/kyua/engine/context_test
%%TEST%%tests/kyua/engine/drivers/Kyuafile
%%TEST%%tests/kyua/engine/drivers/list_tests_helpers
%%TEST%%tests/kyua/engine/drivers/list_tests_test
%%TEST%%tests/kyua/engine/drivers/scan_results_test
%%TEST%%tests/kyua/engine/exceptions_test
%%TEST%%tests/kyua/engine/filters_test
%%TEST%%tests/kyua/engine/kyuafile_test
%%TEST%%tests/kyua/engine/metadata_test
%%TEST%%tests/kyua/engine/report_junit_test
%%TEST%%tests/kyua/engine/requirements_test
%%TEST%%tests/kyua/engine/runner_test
%%TEST%%tests/kyua/engine/test_case_atf_helpers
%%TEST%%tests/kyua/engine/test_case_plain_helpers
%%TEST%%tests/kyua/engine/test_case_test
%%TEST%%tests/kyua/engine/test_program_test
%%TEST%%tests/kyua/engine/test_result_test
%%TEST%%tests/kyua/engine/testers_test
%%TEST%%tests/kyua/examples/Kyuafile
%%TEST%%tests/kyua/examples/syntax_test
@ -101,6 +86,13 @@ man/man7/kyua-test-filters.7.gz
%%TEST%%tests/kyua/integration/helpers/metadata
%%TEST%%tests/kyua/integration/helpers/simple_all_pass
%%TEST%%tests/kyua/integration/helpers/simple_some_fail
%%TEST%%tests/kyua/model/Kyuafile
%%TEST%%tests/kyua/model/context_test
%%TEST%%tests/kyua/model/exceptions_test
%%TEST%%tests/kyua/model/metadata_test
%%TEST%%tests/kyua/model/test_case_test
%%TEST%%tests/kyua/model/test_program_test
%%TEST%%tests/kyua/model/test_result_test
%%TEST%%tests/kyua/store/Kyuafile
%%TEST%%tests/kyua/store/dbtypes_test
%%TEST%%tests/kyua/store/exceptions_test
@ -160,6 +152,7 @@ man/man7/kyua-test-filters.7.gz
%%TEST%%tests/kyua/utils/datetime_test
%%TEST%%tests/kyua/utils/env_test
%%TEST%%tests/kyua/utils/format/Kyuafile
%%TEST%%tests/kyua/utils/format/containers_test
%%TEST%%tests/kyua/utils/format/exceptions_test
%%TEST%%tests/kyua/utils/format/formatter_test
%%TEST%%tests/kyua/utils/fs/Kyuafile