Update to 0.4.

Other than the upgrade itself, this also adds a new 'tests' option to
the package to indicate whether the Kyua-specific tests should be built
or not.  I do not recommend disabling their build, but not specifiying
the 'tests' option cuts down the build time significantly.

The major changes since 0.3 are:

* Added the 'report-html' command to generate HTML reports of the
  execution of any recorded action.

* Changed the '--output' flag of the 'report' command to only take a
  path to the target file, not its format.  Different formats are better
  supported by implementing different subcommands, as the options they
  may receive will vary from format to format.

* Added a '--with-atf' flag to the configure script to control whether
  the ATF tests get built or not.  May be useful for packaging systems
  that do not have ATF in them yet.  Disabling ATF also cuts down the
  build time of Kyua significantly, but with the obvious drawbacks.

* Grouped 'kyua' subcommands by topic both in the output of 'help' and
  in the documentation.  In general, the user needs to be aware of
  commands that rely on a current project and those commands that rely
  purely on the database to generate reports.

* Made 'help' print the descriptions of options and commands properly
  tabulated.

* Changed most informational messages to automatically wrap on screen
  boundaries.

* Rewrote the configuration file parsing module for extensibility.  This
  will allow future versions of Kyua to provide additional user-facing
  options in the configuration file.

  No syntax changes have been made, so existing configuration files
  (version 1) will continue to be parsed without problems.  There is one
  little exception though: all variables under the top-level
  'test_suites' tree must be declared as strings.

  Similarly, the '-v' and '--variable' flags to the command line must
  now carry a 'test_suites.' prefix when referencing any variables under
  such tree.
This commit is contained in:
jmmv 2012-06-07 01:13:58 +00:00
parent e6b5e711df
commit 75503b8e19
6 changed files with 168 additions and 184 deletions

View file

@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.5 2012/04/27 12:31:42 obache Exp $
# $NetBSD: Makefile,v 1.6 2012/06/07 01:13:58 jmmv Exp $
#
DISTNAME= kyua-cli-0.3
PKGREVISION= 1
DISTNAME= kyua-cli-0.4
CATEGORIES= devel
MASTER_SITES= http://kyua.googlecode.com/files/
@ -19,18 +18,35 @@ MAKE_JOBS_SAFE= yes
USE_LANGUAGES= c++
USE_TOOLS= makeinfo pkg-config
PKG_OPTIONS_VAR= PKG_OPTIONS.kyua-cli
PKG_SUPPORTED_OPTIONS= tests
PKG_SUGGESTED_OPTIONS= tests
CONFIGURE_ARGS+= KYUA_CONFSUBDIR=
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --without-doxygen
PKG_SYSCONFSUBDIR= kyua
.include "../../mk/bsd.options.mk"
.if $(PKG_OPTIONS:Mtests)
CONFIGURE_ARGS+= --with-atf
PLIST_SUBST+= TESTS=
BUILDLINK_API_DEPENDS.atf+= atf>=0.15
. include "../../devel/atf/buildlink3.mk"
.else
CONFIGURE_ARGS+= --without-atf
PLIST_SUBST+= TESTS=@comment
.endif
post-install:
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/tests
${INSTALL_DATA} ${WRKSRC}/examples/Kyuafile.top \
${DESTDIR}${PREFIX}/tests/Kyuafile
.include "../../databases/sqlite3/buildlink3.mk"
.include "../../devel/atf/buildlink3.mk"
BUILDLINK_API_DEPENDS.lutok+= lutok>=0.2
.include "../../devel/lutok/buildlink3.mk"
.include "../../lang/lua/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.3 2012/02/24 21:07:41 jmmv Exp $
@comment $NetBSD: PLIST,v 1.4 2012/06/07 01:13:58 jmmv Exp $
bin/kyua
info/kyua-cli.info
man/man1/kyua.1
@ -8,135 +8,151 @@ share/doc/kyua-cli/NEWS
share/doc/kyua-cli/README
share/kyua-cli/examples/Kyuafile.top
share/kyua-cli/examples/kyua.conf
share/kyua-cli/lua/config_1.lua
share/kyua-cli/lua/init.lua
share/kyua-cli/lua/kyuafile_1.lua
share/kyua-cli/misc/context.html
share/kyua-cli/misc/index.html
share/kyua-cli/misc/kyuaify.sh
share/kyua-cli/misc/report.css
share/kyua-cli/misc/test_result.html
share/kyua-cli/store/schema.sql
tests/Kyuafile
tests/kyua-cli/Kyuafile
tests/kyua-cli/bootstrap/Kyuafile
tests/kyua-cli/bootstrap/testsuite
tests/kyua-cli/cli/Kyuafile
tests/kyua-cli/cli/cmd_about_test
tests/kyua-cli/cli/cmd_config_test
tests/kyua-cli/cli/cmd_db_exec_test
tests/kyua-cli/cli/cmd_debug_test
tests/kyua-cli/cli/cmd_help_test
tests/kyua-cli/cli/cmd_list_test
tests/kyua-cli/cli/cmd_report_test
tests/kyua-cli/cli/cmd_test_test
tests/kyua-cli/cli/common_test
tests/kyua-cli/cli/config_test
tests/kyua-cli/cli/main_test
tests/kyua-cli/engine/Kyuafile
tests/kyua-cli/engine/action_test
tests/kyua-cli/engine/atf_iface/Kyuafile
tests/kyua-cli/engine/atf_iface/results_test
tests/kyua-cli/engine/atf_iface/runner_helpers
tests/kyua-cli/engine/atf_iface/runner_test
tests/kyua-cli/engine/atf_iface/test_case_test
tests/kyua-cli/engine/atf_iface/test_program_atf_helpers
tests/kyua-cli/engine/atf_iface/test_program_plain_helpers
tests/kyua-cli/engine/atf_iface/test_program_test
tests/kyua-cli/engine/context_test
tests/kyua-cli/engine/drivers/Kyuafile
tests/kyua-cli/engine/drivers/debug_test_test
tests/kyua-cli/engine/drivers/list_tests_helpers
tests/kyua-cli/engine/drivers/list_tests_test
tests/kyua-cli/engine/drivers/run_tests_test
tests/kyua-cli/engine/drivers/scan_action_test
tests/kyua-cli/engine/exceptions_test
tests/kyua-cli/engine/filters_test
tests/kyua-cli/engine/isolation_test
tests/kyua-cli/engine/plain_iface/Kyuafile
tests/kyua-cli/engine/plain_iface/test_case_helpers
tests/kyua-cli/engine/plain_iface/test_case_test
tests/kyua-cli/engine/plain_iface/test_program_test
tests/kyua-cli/engine/test_case_test
tests/kyua-cli/engine/test_program_test
tests/kyua-cli/engine/test_result_test
tests/kyua-cli/engine/user_files/Kyuafile
tests/kyua-cli/engine/user_files/common_test
tests/kyua-cli/engine/user_files/config_1_test
tests/kyua-cli/engine/user_files/config_test
tests/kyua-cli/engine/user_files/exceptions_test
tests/kyua-cli/engine/user_files/init_test
tests/kyua-cli/engine/user_files/kyuafile_1_test
tests/kyua-cli/engine/user_files/kyuafile_test
tests/kyua-cli/examples/Kyuafile
tests/kyua-cli/examples/syntax_test
tests/kyua-cli/integration/Kyuafile
tests/kyua-cli/integration/cmd_about_test
tests/kyua-cli/integration/cmd_config_test
tests/kyua-cli/integration/cmd_db_exec_test
tests/kyua-cli/integration/cmd_debug_test
tests/kyua-cli/integration/cmd_help_test
tests/kyua-cli/integration/cmd_list_test
tests/kyua-cli/integration/cmd_report_test
tests/kyua-cli/integration/cmd_test_test
tests/kyua-cli/integration/global_test
tests/kyua-cli/integration/helpers/bad_test_program
tests/kyua-cli/integration/helpers/bogus_test_cases
tests/kyua-cli/integration/helpers/config
tests/kyua-cli/integration/helpers/expect_all_pass
tests/kyua-cli/integration/helpers/expect_some_fail
tests/kyua-cli/integration/helpers/interrupts
tests/kyua-cli/integration/helpers/metadata
tests/kyua-cli/integration/helpers/simple_all_pass
tests/kyua-cli/integration/helpers/simple_some_fail
tests/kyua-cli/store/Kyuafile
tests/kyua-cli/store/backend_test
tests/kyua-cli/store/dbtypes_test
tests/kyua-cli/store/exceptions_test
tests/kyua-cli/store/metadata_test
tests/kyua-cli/store/transaction_test
tests/kyua-cli/utils/Kyuafile
tests/kyua-cli/utils/auto_array_test
tests/kyua-cli/utils/cmdline/Kyuafile
tests/kyua-cli/utils/cmdline/base_command_test
tests/kyua-cli/utils/cmdline/commands_map_test
tests/kyua-cli/utils/cmdline/exceptions_test
tests/kyua-cli/utils/cmdline/globals_test
tests/kyua-cli/utils/cmdline/options_test
tests/kyua-cli/utils/cmdline/parser_test
tests/kyua-cli/utils/cmdline/ui_test
tests/kyua-cli/utils/datetime_test
tests/kyua-cli/utils/env_test
tests/kyua-cli/utils/format/Kyuafile
tests/kyua-cli/utils/format/exceptions_test
tests/kyua-cli/utils/format/formatter_test
tests/kyua-cli/utils/fs/Kyuafile
tests/kyua-cli/utils/fs/auto_cleaners_test
tests/kyua-cli/utils/fs/exceptions_test
tests/kyua-cli/utils/fs/lua_module_test
tests/kyua-cli/utils/fs/operations_test
tests/kyua-cli/utils/fs/path_test
tests/kyua-cli/utils/logging/Kyuafile
tests/kyua-cli/utils/logging/lua_module_test
tests/kyua-cli/utils/logging/macros_test
tests/kyua-cli/utils/logging/operations_test
tests/kyua-cli/utils/memory_test
tests/kyua-cli/utils/optional_test
tests/kyua-cli/utils/passwd_test
tests/kyua-cli/utils/process/Kyuafile
tests/kyua-cli/utils/process/children_test
tests/kyua-cli/utils/process/exceptions_test
tests/kyua-cli/utils/process/fdstream_test
tests/kyua-cli/utils/process/helpers
tests/kyua-cli/utils/process/status_test
tests/kyua-cli/utils/process/systembuf_test
tests/kyua-cli/utils/sanity_test
tests/kyua-cli/utils/signals/Kyuafile
tests/kyua-cli/utils/signals/exceptions_test
tests/kyua-cli/utils/signals/misc_test
tests/kyua-cli/utils/signals/programmer_test
tests/kyua-cli/utils/signals/timer_test
tests/kyua-cli/utils/sqlite/Kyuafile
tests/kyua-cli/utils/sqlite/c_gate_test
tests/kyua-cli/utils/sqlite/database_test
tests/kyua-cli/utils/sqlite/exceptions_test
tests/kyua-cli/utils/sqlite/statement_test
tests/kyua-cli/utils/sqlite/transaction_test
tests/kyua-cli/utils/stream_test
tests/kyua-cli/utils/units_test
${TESTS}tests/kyua-cli/Kyuafile
${TESTS}tests/kyua-cli/bootstrap/Kyuafile
${TESTS}tests/kyua-cli/bootstrap/testsuite
${TESTS}tests/kyua-cli/cli/Kyuafile
${TESTS}tests/kyua-cli/cli/cmd_about_test
${TESTS}tests/kyua-cli/cli/cmd_config_test
${TESTS}tests/kyua-cli/cli/cmd_db_exec_test
${TESTS}tests/kyua-cli/cli/cmd_debug_test
${TESTS}tests/kyua-cli/cli/cmd_help_test
${TESTS}tests/kyua-cli/cli/cmd_list_test
${TESTS}tests/kyua-cli/cli/cmd_report_html_test
${TESTS}tests/kyua-cli/cli/cmd_report_test
${TESTS}tests/kyua-cli/cli/cmd_test_test
${TESTS}tests/kyua-cli/cli/common_test
${TESTS}tests/kyua-cli/cli/config_test
${TESTS}tests/kyua-cli/cli/main_test
${TESTS}tests/kyua-cli/engine/Kyuafile
${TESTS}tests/kyua-cli/engine/action_test
${TESTS}tests/kyua-cli/engine/atf_iface/Kyuafile
${TESTS}tests/kyua-cli/engine/atf_iface/results_test
${TESTS}tests/kyua-cli/engine/atf_iface/runner_helpers
${TESTS}tests/kyua-cli/engine/atf_iface/runner_test
${TESTS}tests/kyua-cli/engine/atf_iface/test_case_test
${TESTS}tests/kyua-cli/engine/atf_iface/test_program_atf_helpers
${TESTS}tests/kyua-cli/engine/atf_iface/test_program_plain_helpers
${TESTS}tests/kyua-cli/engine/atf_iface/test_program_test
${TESTS}tests/kyua-cli/engine/context_test
${TESTS}tests/kyua-cli/engine/drivers/Kyuafile
${TESTS}tests/kyua-cli/engine/drivers/debug_test_test
${TESTS}tests/kyua-cli/engine/drivers/list_tests_helpers
${TESTS}tests/kyua-cli/engine/drivers/list_tests_test
${TESTS}tests/kyua-cli/engine/drivers/run_tests_test
${TESTS}tests/kyua-cli/engine/drivers/scan_action_test
${TESTS}tests/kyua-cli/engine/exceptions_test
${TESTS}tests/kyua-cli/engine/filters_test
${TESTS}tests/kyua-cli/engine/isolation_test
${TESTS}tests/kyua-cli/engine/plain_iface/Kyuafile
${TESTS}tests/kyua-cli/engine/plain_iface/test_case_helpers
${TESTS}tests/kyua-cli/engine/plain_iface/test_case_test
${TESTS}tests/kyua-cli/engine/plain_iface/test_program_test
${TESTS}tests/kyua-cli/engine/test_case_test
${TESTS}tests/kyua-cli/engine/test_program_test
${TESTS}tests/kyua-cli/engine/test_result_test
${TESTS}tests/kyua-cli/engine/user_files/Kyuafile
${TESTS}tests/kyua-cli/engine/user_files/common_test
${TESTS}tests/kyua-cli/engine/user_files/config_test
${TESTS}tests/kyua-cli/engine/user_files/exceptions_test
${TESTS}tests/kyua-cli/engine/user_files/init_test
${TESTS}tests/kyua-cli/engine/user_files/kyuafile_1_test
${TESTS}tests/kyua-cli/engine/user_files/kyuafile_test
${TESTS}tests/kyua-cli/examples/Kyuafile
${TESTS}tests/kyua-cli/examples/syntax_test
${TESTS}tests/kyua-cli/integration/Kyuafile
${TESTS}tests/kyua-cli/integration/cmd_about_test
${TESTS}tests/kyua-cli/integration/cmd_config_test
${TESTS}tests/kyua-cli/integration/cmd_db_exec_test
${TESTS}tests/kyua-cli/integration/cmd_debug_test
${TESTS}tests/kyua-cli/integration/cmd_help_test
${TESTS}tests/kyua-cli/integration/cmd_list_test
${TESTS}tests/kyua-cli/integration/cmd_report_html_test
${TESTS}tests/kyua-cli/integration/cmd_report_test
${TESTS}tests/kyua-cli/integration/cmd_test_test
${TESTS}tests/kyua-cli/integration/global_test
${TESTS}tests/kyua-cli/integration/helpers/bad_test_program
${TESTS}tests/kyua-cli/integration/helpers/bogus_test_cases
${TESTS}tests/kyua-cli/integration/helpers/config
${TESTS}tests/kyua-cli/integration/helpers/expect_all_pass
${TESTS}tests/kyua-cli/integration/helpers/expect_some_fail
${TESTS}tests/kyua-cli/integration/helpers/interrupts
${TESTS}tests/kyua-cli/integration/helpers/metadata
${TESTS}tests/kyua-cli/integration/helpers/simple_all_pass
${TESTS}tests/kyua-cli/integration/helpers/simple_some_fail
${TESTS}tests/kyua-cli/store/Kyuafile
${TESTS}tests/kyua-cli/store/backend_test
${TESTS}tests/kyua-cli/store/dbtypes_test
${TESTS}tests/kyua-cli/store/exceptions_test
${TESTS}tests/kyua-cli/store/metadata_test
${TESTS}tests/kyua-cli/store/transaction_test
${TESTS}tests/kyua-cli/utils/Kyuafile
${TESTS}tests/kyua-cli/utils/auto_array_test
${TESTS}tests/kyua-cli/utils/cmdline/Kyuafile
${TESTS}tests/kyua-cli/utils/cmdline/base_command_test
${TESTS}tests/kyua-cli/utils/cmdline/commands_map_test
${TESTS}tests/kyua-cli/utils/cmdline/exceptions_test
${TESTS}tests/kyua-cli/utils/cmdline/globals_test
${TESTS}tests/kyua-cli/utils/cmdline/options_test
${TESTS}tests/kyua-cli/utils/cmdline/parser_test
${TESTS}tests/kyua-cli/utils/cmdline/ui_test
${TESTS}tests/kyua-cli/utils/config/Kyuafile
${TESTS}tests/kyua-cli/utils/config/exceptions_test
${TESTS}tests/kyua-cli/utils/config/keys_test
${TESTS}tests/kyua-cli/utils/config/lua_module_test
${TESTS}tests/kyua-cli/utils/config/nodes_test
${TESTS}tests/kyua-cli/utils/config/parser_test
${TESTS}tests/kyua-cli/utils/config/tree_test
${TESTS}tests/kyua-cli/utils/datetime_test
${TESTS}tests/kyua-cli/utils/env_test
${TESTS}tests/kyua-cli/utils/format/Kyuafile
${TESTS}tests/kyua-cli/utils/format/exceptions_test
${TESTS}tests/kyua-cli/utils/format/formatter_test
${TESTS}tests/kyua-cli/utils/fs/Kyuafile
${TESTS}tests/kyua-cli/utils/fs/auto_cleaners_test
${TESTS}tests/kyua-cli/utils/fs/exceptions_test
${TESTS}tests/kyua-cli/utils/fs/lua_module_test
${TESTS}tests/kyua-cli/utils/fs/operations_test
${TESTS}tests/kyua-cli/utils/fs/path_test
${TESTS}tests/kyua-cli/utils/logging/Kyuafile
${TESTS}tests/kyua-cli/utils/logging/lua_module_test
${TESTS}tests/kyua-cli/utils/logging/macros_test
${TESTS}tests/kyua-cli/utils/logging/operations_test
${TESTS}tests/kyua-cli/utils/memory_test
${TESTS}tests/kyua-cli/utils/optional_test
${TESTS}tests/kyua-cli/utils/passwd_test
${TESTS}tests/kyua-cli/utils/process/Kyuafile
${TESTS}tests/kyua-cli/utils/process/children_test
${TESTS}tests/kyua-cli/utils/process/exceptions_test
${TESTS}tests/kyua-cli/utils/process/fdstream_test
${TESTS}tests/kyua-cli/utils/process/helpers
${TESTS}tests/kyua-cli/utils/process/status_test
${TESTS}tests/kyua-cli/utils/process/systembuf_test
${TESTS}tests/kyua-cli/utils/sanity_test
${TESTS}tests/kyua-cli/utils/signals/Kyuafile
${TESTS}tests/kyua-cli/utils/signals/exceptions_test
${TESTS}tests/kyua-cli/utils/signals/misc_test
${TESTS}tests/kyua-cli/utils/signals/programmer_test
${TESTS}tests/kyua-cli/utils/signals/timer_test
${TESTS}tests/kyua-cli/utils/sqlite/Kyuafile
${TESTS}tests/kyua-cli/utils/sqlite/c_gate_test
${TESTS}tests/kyua-cli/utils/sqlite/database_test
${TESTS}tests/kyua-cli/utils/sqlite/exceptions_test
${TESTS}tests/kyua-cli/utils/sqlite/statement_test
${TESTS}tests/kyua-cli/utils/sqlite/transaction_test
${TESTS}tests/kyua-cli/utils/stream_test
${TESTS}tests/kyua-cli/utils/text/Kyuafile
${TESTS}tests/kyua-cli/utils/text/exceptions_test
${TESTS}tests/kyua-cli/utils/text/operations_test
${TESTS}tests/kyua-cli/utils/text/table_test
${TESTS}tests/kyua-cli/utils/text/templates_test
${TESTS}tests/kyua-cli/utils/units_test

View file

@ -1,8 +1,5 @@
$NetBSD: distinfo,v 1.6 2012/06/02 20:06:30 dholland Exp $
$NetBSD: distinfo,v 1.7 2012/06/07 01:13:58 jmmv Exp $
SHA1 (kyua-cli-0.3.tar.gz) = 445f054c739a8786439b8debfb6fb48df13349f9
RMD160 (kyua-cli-0.3.tar.gz) = 214b6b947f947d7f5a42894278dcf909ccefe14d
Size (kyua-cli-0.3.tar.gz) = 563041 bytes
SHA1 (patch-utils_datetime_cpp) = 034d80169762d23a63fa04bc91f9a7b6e808d06f
SHA1 (patch-utils_process_children.cpp) = 3ae9842ba2869693fc98458b9e18c14f06d2b265
SHA1 (patch-utils_process_systembuf_test.cpp) = 8c7610cdb93145d1ec1eb36acb68749377059060
SHA1 (kyua-cli-0.4.tar.gz) = 886b45bc5c37010787d1e2e5cee7301499ddc152
RMD160 (kyua-cli-0.4.tar.gz) = 0fc633de4176b2cfaa9aa9105de44b169c41293f
Size (kyua-cli-0.4.tar.gz) = 635423 bytes

View file

@ -1,17 +0,0 @@
$NetBSD: patch-utils_datetime_cpp,v 1.1 2012/06/02 20:06:30 dholland Exp $
tv_sec isn't necessarily time_t.
--- utils/datetime.cpp~ 2012-02-13 23:06:33.000000000 +0000
+++ utils/datetime.cpp
@@ -273,7 +273,9 @@ std::string
datetime::timestamp::strftime(const std::string& format) const
{
::tm timedata;
- if (::gmtime_r(&_pimpl->data.tv_sec, &timedata) == NULL)
+ ::time_t tmp;
+ tmp = _pimpl->data.tv_sec;
+ if (::gmtime_r(&tmp, &timedata) == NULL)
UNREACHABLE_MSG("gmtime_r(3) did not accept the value returned by "
"gettimeofday(2)");

View file

@ -1,14 +0,0 @@
$NetBSD: patch-utils_process_children.cpp,v 1.1 2012/05/24 16:47:11 marino Exp $
--- utils/process/children.cpp.orig 2012-02-24 15:48:46.000000000 +0000
+++ utils/process/children.cpp
@@ -29,6 +29,9 @@
extern "C" {
#include <sys/wait.h>
+#ifdef __DragonFly__
+#include <sys/stat.h>
+#endif
#include <fcntl.h>
#include <signal.h>
#include <unistd.h>

View file

@ -1,14 +0,0 @@
$NetBSD: patch-utils_process_systembuf_test.cpp,v 1.1 2012/05/24 16:47:11 marino Exp $
--- utils/process/systembuf_test.cpp.orig 2012-01-16 17:31:50.000000000 +0000
+++ utils/process/systembuf_test.cpp
@@ -29,6 +29,9 @@
#include "utils/process/systembuf.hpp"
extern "C" {
+#ifdef __DragonFly__
+#include <sys/stat.h>
+#endif
#include <fcntl.h>
#include <unistd.h>
}