Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Nov 2015 03:03:34 +0000 (UTC)
From:      Julio Merino <jmmv@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r402256 - head/devel/kyua
Message-ID:  <201511230303.tAN33YmA093210@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jmmv (src committer)
Date: Mon Nov 23 03:03:34 2015
New Revision: 402256
URL: https://svnweb.freebsd.org/changeset/ports/402256

Log:
  Update devel/kyua to 0.12.
  
  **Released on November 22nd, 2015.**
  
  This is a huge release and marks a major milestone for Kyua as it finally
  implements a long-standing feature request: the ability to execute test
  cases in parallel.  This is a big deal because test cases are rarely
  CPU-bound: running them in parallel yields much faster execution times for
  large test suites, allowing faster iteration of changes during development.
  
  As an example: the FreeBSD test suite as of this date contains 3285 test
  cases.  With sequential execution, a full test suite run takes around 12
  minutes to complete, whereas on a 4-core machine with a high level of
  parallelism it takes a little over 1 minute.
  
  Implementing parallel execution required rewriting most of Kyua's core and
  partly explains explains why there has not been a new release for over a
  year.  The current implementation is purely subprocess-based, which works
  but has some limitations and has resulted in a core that is really complex
  and difficult to understand.  Future versions will investigate the use of
  threads instead for a simplified programming model and additional
  parallelization possibilities.
  
  * Issue #2: Implemented support to execute test cases in parallel when
    invoking `kyua test`.  Parallel execution is *only* enabled when the new
    `parallelism` configuration variable is set to a value greater than `1`.
    The default behavior is still to run tests sequentially because some test
    suites contain test cases with side-effects that might fail when run in
    parallel.  To resolve this, the new metadata property `is_exclusive` can
    be set to `true` on a test basis to indicate that the test must be run on
    its own.
  
  * Known regression: Running `kyua debug` on a TAP-based test program does
    not currently report the output in real time.  The output will only be
    displayed once the test program completes.  This is a shortcoming of
    the new parallel execution engine and will be resolved.
  
  * Removed the external C-based testers code in favor of the new built-in
    implementations.  The new approach feels significantly faster than the
    previous one.
  
  * Fixed the handling of relative paths in the `fs.*` functions available
    in `Kyuafile`s.  All paths are now resolved relative to the location of
    the caller `Kyuafile`.  `Kyuafile.top` has been updated with these
    changes and you should update custom copies of this file with the new
    version.
  
  * Changed temporary directory creation to always grant search
    permissions on temporary directories.  This is to prevent potential
    problems when running Kyua as root and executing test cases that require
    dropping privileges (as they may later be unable to use absolute paths
    that point inside their work directory).
  
  * The cleanup of work directories does not longer attempt to deal with
    mount points.  If a test case mounts a file system and forgets to unmount
    it, the mount point will be left behind.  It is now the responsibility of
    the test case to clean after itself.  The reasons for this change are
    simplicity and clarity: there are many more things that a test case can
    do that have side-effects on the system and Kyua cannot protect against
    them all, so it is better to just have the test undo anything it might
    have done.
  
  * Improved `kyua report --verbose` to properly handle environment
    variables with continuation lines in them, and fixed the integration
    tests for this command to avoid false negatives.
  
  * Changed the configuration file format to accept the definition of
    unknown variables without declaring them local.  The syntax version
    number remains at 2.  This is to allow configuration files for newer Kyua
    versions to work on older Kyua versions, as there is no reason to forbid
    this.
  
  * Fixed stacktrace gathering with FreeBSD's ancient version of GDB.
    GDB 6.1.1 (circa 2004) does not have the `-ex` flag so we need to
    generate a temporary GDB script and feed it to GDB with `-x` instead.
  
  * Issue #136: Fixed the XML escaping in the JUnit output so that
    non-printable characters are properly handled when they appear in the
    process's stdout or stderr.
  
  * Issue #141: Improved reporting of errors triggered by sqlite3.  In
    particular, all error messages are now tagged with their corresponding
    database filename and, if they are API-level errors, the name of the
    sqlite3 function that caused them.
  
  * Issue #144: Improved documentation on the support for custom properties
    in the test metadata.
  
  * Converted the `INSTALL`, `NEWS`, and `README` distribution documents to
    Markdown for better formatting online.
  
  Approved by:	bapt (mentor)
  Differential Revision:	https://reviews.freebsd.org/D4243

Modified:
  head/devel/kyua/Makefile
  head/devel/kyua/distinfo
  head/devel/kyua/pkg-plist

Modified: head/devel/kyua/Makefile
==============================================================================
--- head/devel/kyua/Makefile	Mon Nov 23 02:47:23 2015	(r402255)
+++ head/devel/kyua/Makefile	Mon Nov 23 03:03:34 2015	(r402256)
@@ -1,8 +1,7 @@
 # $FreeBSD$
 
 PORTNAME=	kyua
-PORTVERSION=	0.11
-PORTREVISION=	1
+PORTVERSION=	0.12
 PORTEPOCH=	2
 CATEGORIES=	devel
 MASTER_SITES=	https://github.com/jmmv/kyua/releases/download/${PORTNAME}-${PORTVERSION}/ \

Modified: head/devel/kyua/distinfo
==============================================================================
--- head/devel/kyua/distinfo	Mon Nov 23 02:47:23 2015	(r402255)
+++ head/devel/kyua/distinfo	Mon Nov 23 03:03:34 2015	(r402256)
@@ -1,2 +1,2 @@
-SHA256 (kyua-0.11.tar.gz) = 2b8b64a458b642df75086eeb73e8073d105b8d9cff04c9b1a905b68bc8502560
-SIZE (kyua-0.11.tar.gz) = 611865
+SHA256 (kyua-0.12.tar.gz) = 5b0d43c4ca0921034dd523249bd7aa2f07f718d302e4b574634ba5167aa369fc
+SIZE (kyua-0.12.tar.gz) = 663129

Modified: head/devel/kyua/pkg-plist
==============================================================================
--- head/devel/kyua/pkg-plist	Mon Nov 23 02:47:23 2015	(r402255)
+++ head/devel/kyua/pkg-plist	Mon Nov 23 03:03:34 2015	(r402256)
@@ -1,8 +1,5 @@
 bin/kyua
 etc/kyua/kyua.conf
-libexec/kyua-atf-tester
-libexec/kyua-plain-tester
-libexec/kyua-tap-tester
 man/man1/kyua-about.1.gz
 man/man1/kyua-config.1.gz
 man/man1/kyua-db-exec.1.gz
@@ -25,9 +22,10 @@ man/man5/kyuafile.5.gz
 %%DATADIR%%/store/migrate_v2_v3.sql
 %%DATADIR%%/store/schema_v3.sql
 %%PORTDOCS%%%%DOCSDIR%%/AUTHORS
-%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/NEWS
-%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/CONTRIBUTING.md
+%%PORTDOCS%%%%DOCSDIR%%/CONTRIBUTORS
+%%PORTDOCS%%%%DOCSDIR%%/LICENSE
+%%PORTDOCS%%%%DOCSDIR%%/NEWS.md
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/Kyuafile.top
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/kyua.conf
 %%TEST%%tests/Kyuafile
@@ -53,15 +51,22 @@ man/man5/kyuafile.5.gz
 %%TEST%%tests/kyua/drivers/report_junit_test
 %%TEST%%tests/kyua/drivers/scan_results_test
 %%TEST%%tests/kyua/engine/Kyuafile
+%%TEST%%tests/kyua/engine/atf_helpers
+%%TEST%%tests/kyua/engine/atf_list_test
+%%TEST%%tests/kyua/engine/atf_result_test
+%%TEST%%tests/kyua/engine/atf_test
 %%TEST%%tests/kyua/engine/config_test
 %%TEST%%tests/kyua/engine/exceptions_test
 %%TEST%%tests/kyua/engine/filters_test
 %%TEST%%tests/kyua/engine/kyuafile_test
+%%TEST%%tests/kyua/engine/plain_helpers
+%%TEST%%tests/kyua/engine/plain_test
+%%TEST%%tests/kyua/engine/scanner_test
+%%TEST%%tests/kyua/engine/scheduler_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/testers_test
+%%TEST%%tests/kyua/engine/tap_helpers
+%%TEST%%tests/kyua/engine/tap_parser_test
+%%TEST%%tests/kyua/engine/tap_test
 %%TEST%%tests/kyua/examples/Kyuafile
 %%TEST%%tests/kyua/examples/syntax_test
 %%TEST%%tests/kyua/integration/Kyuafile
@@ -80,10 +85,12 @@ man/man5/kyuafile.5.gz
 %%TEST%%tests/kyua/integration/helpers/bad_test_program
 %%TEST%%tests/kyua/integration/helpers/bogus_test_cases
 %%TEST%%tests/kyua/integration/helpers/config
+%%TEST%%tests/kyua/integration/helpers/dump_env
 %%TEST%%tests/kyua/integration/helpers/expect_all_pass
 %%TEST%%tests/kyua/integration/helpers/expect_some_fail
 %%TEST%%tests/kyua/integration/helpers/interrupts
 %%TEST%%tests/kyua/integration/helpers/metadata
+%%TEST%%tests/kyua/integration/helpers/race
 %%TEST%%tests/kyua/integration/helpers/simple_all_pass
 %%TEST%%tests/kyua/integration/helpers/simple_some_fail
 %%TEST%%tests/kyua/model/Kyuafile
@@ -113,25 +120,6 @@ man/man5/kyuafile.5.gz
 %%TEST%%tests/kyua/store/transaction_test
 %%TEST%%tests/kyua/store/write_backend_test
 %%TEST%%tests/kyua/store/write_transaction_test
-%%TEST%%tests/kyua/testers/Kyuafile
-%%TEST%%tests/kyua/testers/atf_helpers
-%%TEST%%tests/kyua/testers/atf_inttest
-%%TEST%%tests/kyua/testers/atf_list_test
-%%TEST%%tests/kyua/testers/atf_result_test
-%%TEST%%tests/kyua/testers/cli_test
-%%TEST%%tests/kyua/testers/env_test
-%%TEST%%tests/kyua/testers/error_test
-%%TEST%%tests/kyua/testers/fs_test
-%%TEST%%tests/kyua/testers/plain_helpers
-%%TEST%%tests/kyua/testers/plain_inttest
-%%TEST%%tests/kyua/testers/result_test
-%%TEST%%tests/kyua/testers/run_test
-%%TEST%%tests/kyua/testers/stacktrace_helper
-%%TEST%%tests/kyua/testers/stacktrace_test
-%%TEST%%tests/kyua/testers/tap_helpers
-%%TEST%%tests/kyua/testers/tap_inttest
-%%TEST%%tests/kyua/testers/tap_parser_test
-%%TEST%%tests/kyua/testers/text_test
 %%TEST%%tests/kyua/utils/Kyuafile
 %%TEST%%tests/kyua/utils/auto_array_test
 %%TEST%%tests/kyua/utils/cmdline/Kyuafile
@@ -157,6 +145,7 @@ man/man5/kyuafile.5.gz
 %%TEST%%tests/kyua/utils/format/formatter_test
 %%TEST%%tests/kyua/utils/fs/Kyuafile
 %%TEST%%tests/kyua/utils/fs/auto_cleaners_test
+%%TEST%%tests/kyua/utils/fs/directory_test
 %%TEST%%tests/kyua/utils/fs/exceptions_test
 %%TEST%%tests/kyua/utils/fs/lua_module_test
 %%TEST%%tests/kyua/utils/fs/operations_test
@@ -169,28 +158,35 @@ man/man5/kyuafile.5.gz
 %%TEST%%tests/kyua/utils/passwd_test
 %%TEST%%tests/kyua/utils/process/Kyuafile
 %%TEST%%tests/kyua/utils/process/child_test
+%%TEST%%tests/kyua/utils/process/deadline_killer_test
 %%TEST%%tests/kyua/utils/process/exceptions_test
+%%TEST%%tests/kyua/utils/process/executor_test
 %%TEST%%tests/kyua/utils/process/fdstream_test
 %%TEST%%tests/kyua/utils/process/helpers
+%%TEST%%tests/kyua/utils/process/isolation_test
+%%TEST%%tests/kyua/utils/process/operations_test
 %%TEST%%tests/kyua/utils/process/status_test
 %%TEST%%tests/kyua/utils/process/systembuf_test
-%%TEST%%tests/kyua/utils/releaser_test
 %%TEST%%tests/kyua/utils/sanity_test
 %%TEST%%tests/kyua/utils/signals/Kyuafile
 %%TEST%%tests/kyua/utils/signals/exceptions_test
 %%TEST%%tests/kyua/utils/signals/interrupts_test
 %%TEST%%tests/kyua/utils/signals/misc_test
 %%TEST%%tests/kyua/utils/signals/programmer_test
+%%TEST%%tests/kyua/utils/signals/timer_test
 %%TEST%%tests/kyua/utils/sqlite/Kyuafile
 %%TEST%%tests/kyua/utils/sqlite/c_gate_test
 %%TEST%%tests/kyua/utils/sqlite/database_test
 %%TEST%%tests/kyua/utils/sqlite/exceptions_test
 %%TEST%%tests/kyua/utils/sqlite/statement_test
 %%TEST%%tests/kyua/utils/sqlite/transaction_test
+%%TEST%%tests/kyua/utils/stacktrace_helper
+%%TEST%%tests/kyua/utils/stacktrace_test
 %%TEST%%tests/kyua/utils/stream_test
 %%TEST%%tests/kyua/utils/text/Kyuafile
 %%TEST%%tests/kyua/utils/text/exceptions_test
 %%TEST%%tests/kyua/utils/text/operations_test
+%%TEST%%tests/kyua/utils/text/regex_test
 %%TEST%%tests/kyua/utils/text/table_test
 %%TEST%%tests/kyua/utils/text/templates_test
 %%TEST%%tests/kyua/utils/units_test



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511230303.tAN33YmA093210>