summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmmv <jmmv>2013-02-23 03:37:40 +0000
committerjmmv <jmmv>2013-02-23 03:37:40 +0000
commite4e85b8bf08eade722b5c7e262ac72b678ebc117 (patch)
tree6655d1e8a7dbcd929d5e8a88ee9e4e95bf983e08
parent6a1a7dc960253ee196d129d44bb851bb0b76877c (diff)
downloadpkgsrc-e4e85b8bf08eade722b5c7e262ac72b678ebc117.tar.gz
Update to 0.6:
Experimental version released on February 22nd, 2013. * Issue 36: Changed 'kyua help' to not fail when the configuration file is bogus. Help should always work. * Issue 37: Simplified the syntax() calls in configuration and Kyuafile files to only specify the requested version instead of also the format name. The format name is implied by the file being loaded, so there is no use in the caller having to specify it. The version number of these file formats has been bumped to 2. * Issue 39: Added per-test-case metadata values to the HTML reports. * Issue 40: Rewrote the documentation as manual pages and removed the previous GNU Info document. * Issue 47: Started using the independent testers in the kyua-testers package to run the test cases. Kyua does not implement the logic to invoke test cases any more, which provides for better modularity, extensibility and robustness. * Issue 57: Added support to specify arbitrary metadata properties for test programs right from the Kyuafile. This is to make plain test programs more versatile, by allowing them to specify any of the requirements (allowed architectures, required files, etc.) supported by Kyua. * Reduced automatic screen line wrapping of messages to the 'help' command and the output of tables by 'db-exec'. Wrapping any other messages (specially anything going to stderr) was very annoying because it prevented natural copy/pasting of text. * Increased the granularity of the error codes returned by kyua(1) to denote different error conditions. This avoids the overload of '1' to indicate both "expected" errors from specific subcommands and unexpected errors caused by the internals of the code. The manual now correctly explain how the exit codes behave on a command basis. * Optimized the database schema to make report generation almost instantaneous. * Bumped the database schema to 2. The database now records the metadata of both test programs and test cases generically, without knowledge of their interface. * Added the 'db-migrate' command to provide a mechanism to upgrade a database with an old schema to the current schema. * Removed the GDB build-time configuration variable. This is now part of the kyua-testers package. * Rewrote the Kyuafile parsing code in C++, which results in a much simpler implementation. As a side-effect, this gets rid of the external Lua files required by 'kyua', which in turn make the tool self-contained. * Added caching of various configure test results (particularly in those tests that need to execute a test program) so that cross-compilers can predefine the results of the tests without having to run the executables.
-rw-r--r--devel/kyua-cli/Makefile9
-rw-r--r--devel/kyua-cli/PLIST65
-rw-r--r--devel/kyua-cli/distinfo10
-rw-r--r--devel/kyua-cli/patches/patch-aa54
-rw-r--r--devel/kyua-cli/patches/patch-ab122
5 files changed, 42 insertions, 218 deletions
diff --git a/devel/kyua-cli/Makefile b/devel/kyua-cli/Makefile
index 369ca7f1661..280bc9772eb 100644
--- a/devel/kyua-cli/Makefile
+++ b/devel/kyua-cli/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.11 2013/01/26 21:37:22 adam Exp $
+# $NetBSD: Makefile,v 1.12 2013/02/23 03:37:40 jmmv Exp $
#
-DISTNAME= kyua-cli-0.5
-PKGREVISION= 1
+DISTNAME= kyua-cli-0.6
CATEGORIES= devel
MASTER_SITES= http://kyua.googlecode.com/files/
@@ -12,10 +11,9 @@ COMMENT= Kyua (automated testing framework) - Command line interface
LICENSE= modified-bsd
GNU_CONFIGURE= yes
-INFO_FILES= yes
MAKE_JOBS_SAFE= yes
USE_LANGUAGES= c++
-USE_TOOLS= makeinfo pkg-config
+USE_TOOLS= pkg-config
PKG_OPTIONS_VAR= PKG_OPTIONS.kyua-cli
PKG_SUPPORTED_OPTIONS= tests
@@ -44,6 +42,7 @@ post-install:
${DESTDIR}${PREFIX}/tests/Kyuafile
.include "../../databases/sqlite3/buildlink3.mk"
+.include "../../devel/kyua-testers/buildlink3.mk"
BUILDLINK_API_DEPENDS.lutok+= lutok>=0.2
.include "../../devel/lutok/buildlink3.mk"
.include "../../lang/lua/buildlink3.mk"
diff --git a/devel/kyua-cli/PLIST b/devel/kyua-cli/PLIST
index 8912f24c3aa..88a17f86c4c 100644
--- a/devel/kyua-cli/PLIST
+++ b/devel/kyua-cli/PLIST
@@ -1,28 +1,43 @@
-@comment $NetBSD: PLIST,v 1.5 2012/07/10 22:09:32 jmmv Exp $
+@comment $NetBSD: PLIST,v 1.6 2013/02/23 03:37:40 jmmv Exp $
bin/kyua
-info/kyua-cli.info
+man/man1/kyua-about.1
+man/man1/kyua-config.1
+man/man1/kyua-db-exec.1
+man/man1/kyua-db-migrate.1
+man/man1/kyua-debug.1
+man/man1/kyua-help.1
+man/man1/kyua-list.1
+man/man1/kyua-report-html.1
+man/man1/kyua-report.1
+man/man1/kyua-test.1
man/man1/kyua.1
+man/man5/kyua.conf.5
+man/man5/kyuafile.5
+man/man7/kyua-build-root.7
+man/man7/kyua-test-filters.7
share/doc/kyua-cli/AUTHORS
share/doc/kyua-cli/COPYING
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/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/report.css
share/kyua-cli/misc/test_result.html
-share/kyua-cli/store/schema.sql
-tests/Kyuafile
+share/kyua-cli/store/migrate_v1_v2.sql
+share/kyua-cli/store/schema_v2.sql
+${TESTS}tests/Kyuafile
${TESTS}tests/kyua-cli/Kyuafile
${TESTS}tests/kyua-cli/bootstrap/Kyuafile
+${TESTS}tests/kyua-cli/bootstrap/atf_helpers
+${TESTS}tests/kyua-cli/bootstrap/plain_helpers
${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_db_migrate_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
@@ -34,14 +49,7 @@ ${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/config_test
${TESTS}tests/kyua-cli/engine/context_test
${TESTS}tests/kyua-cli/engine/drivers/Kyuafile
${TESTS}tests/kyua-cli/engine/drivers/debug_test_test
@@ -51,27 +59,21 @@ ${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/kyuafile_test
+${TESTS}tests/kyua-cli/engine/metadata_test
+${TESTS}tests/kyua-cli/engine/test_case_atf_helpers
+${TESTS}tests/kyua-cli/engine/test_case_plain_helpers
${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/engine/testers_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_db_migrate_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
@@ -93,6 +95,10 @@ ${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/schema_inttest
+${TESTS}tests/kyua-cli/store/schema_v1.sql
+${TESTS}tests/kyua-cli/store/testdata_v1.sql
+${TESTS}tests/kyua-cli/store/testdata_v2.sql
${TESTS}tests/kyua-cli/store/transaction_test
${TESTS}tests/kyua-cli/utils/Kyuafile
${TESTS}tests/kyua-cli/utils/auto_array_test
@@ -123,14 +129,13 @@ ${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/child_test
${TESTS}tests/kyua-cli/utils/process/exceptions_test
${TESTS}tests/kyua-cli/utils/process/fdstream_test
${TESTS}tests/kyua-cli/utils/process/helpers
@@ -139,17 +144,15 @@ ${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/interrupts_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/stacktrace_helper
-${TESTS}tests/kyua-cli/utils/stacktrace_test
${TESTS}tests/kyua-cli/utils/stream_test
${TESTS}tests/kyua-cli/utils/text/Kyuafile
${TESTS}tests/kyua-cli/utils/text/exceptions_test
diff --git a/devel/kyua-cli/distinfo b/devel/kyua-cli/distinfo
index 5927abe6ffa..f53cec53a7e 100644
--- a/devel/kyua-cli/distinfo
+++ b/devel/kyua-cli/distinfo
@@ -1,7 +1,5 @@
-$NetBSD: distinfo,v 1.11 2012/09/07 01:38:31 jmmv Exp $
+$NetBSD: distinfo,v 1.12 2013/02/23 03:37:40 jmmv Exp $
-SHA1 (kyua-cli-0.5.tar.gz) = 4463af8f01e7dd77cfd69593ee9512eff017b14e
-RMD160 (kyua-cli-0.5.tar.gz) = 20e9c2bf64a40852525a7cda2a092eb1bb68d43d
-Size (kyua-cli-0.5.tar.gz) = 648398 bytes
-SHA1 (patch-aa) = 4f3bedc44d12275ff4b5cb8f7481803bf504f015
-SHA1 (patch-ab) = da7002ba1769aa564c284117cac28c878aab05b8
+SHA1 (kyua-cli-0.6.tar.gz) = 85453765a497d381570d6f658d90038af894a90f
+RMD160 (kyua-cli-0.6.tar.gz) = a60e317639e60fd688a76297791670b680e7d505
+Size (kyua-cli-0.6.tar.gz) = 487249 bytes
diff --git a/devel/kyua-cli/patches/patch-aa b/devel/kyua-cli/patches/patch-aa
deleted file mode 100644
index 00fd8bf1bfe..00000000000
--- a/devel/kyua-cli/patches/patch-aa
+++ /dev/null
@@ -1,54 +0,0 @@
-$NetBSD: patch-aa,v 1.4 2012/09/07 01:35:54 jmmv Exp $
-
-Fix build under NetBSD/amd64 1.5.2
-
-Change utils::stream_length() to return a std::size_t instead of
-a std::streampos. This allows the later comparison against an
-integer without having to use a cast.
-
-This is upstream change: aec91a38b7c91175fb24fee3ea500e3ee6d33efc
---- utils/stream.cpp
-+++ utils/stream.cpp
-@@ -39,10 +39,13 @@
- ///
- /// \param is The input stream for which to calculate its length.
- ///
--/// \return The length of the stream.
-+/// \return The length of the stream. This is of size_t type instead of
-+/// directly std::streampos to simplify the caller. Some systems do not
-+/// support comparing a std::streampos directly to an integer (see
-+/// NetBSD 1.5.x), which is what we often want to do.
- ///
- /// \throw std::exception If calculating the length fails due to a stream error.
--std::streampos
-+std::size_t
- utils::stream_length(std::istream& is)
- {
- const std::streampos current_pos = is.tellg();
-@@ -50,7 +53,7 @@ utils::stream_length(std::istream& is)
- is.seekg(0, std::ios::end);
- const std::streampos length = is.tellg();
- is.seekg(current_pos, std::ios::beg);
-- return length;
-+ return static_cast< std::size_t >(length);
- } catch (...) {
- is.seekg(current_pos, std::ios::beg);
- throw;
---- utils/stream.hpp
-+++ utils/stream.hpp
-@@ -35,13 +35,14 @@
- #if !defined(UTILS_STREAM_HPP)
- #define UTILS_STREAM_HPP
-
-+#include <cstddef>
- #include <istream>
- #include <string>
-
- namespace utils {
-
-
--std::streampos stream_length(std::istream&);
-+std::size_t stream_length(std::istream&);
- std::string read_stream(std::istream&);
-
-
diff --git a/devel/kyua-cli/patches/patch-ab b/devel/kyua-cli/patches/patch-ab
deleted file mode 100644
index f3bdfd3e2ae..00000000000
--- a/devel/kyua-cli/patches/patch-ab
+++ /dev/null
@@ -1,122 +0,0 @@
-$NetBSD: patch-ab,v 1.1 2012/09/07 01:38:31 jmmv Exp $
-
-Fix build under NetBSD/i386 5.1.2
-
-Constants that do not fit in a long need to be qualified with a LL
-to not raise errors when building for a 32 bit machine.
-
-This is upstream change: 5e60ab68bbd8df52dfc45394e245104bd4c34a1e
---- utils/datetime_test.cpp
-+++ utils/datetime_test.cpp
-@@ -176,9 +176,9 @@ ATF_TEST_CASE_WITHOUT_HEAD(timestamp__from_microseconds);
- ATF_TEST_CASE_BODY(timestamp__from_microseconds)
- {
- const datetime::timestamp ts = datetime::timestamp::from_microseconds(
-- 1328829351987654);
-+ 1328829351987654LL);
- ATF_REQUIRE_EQ("2012-02-09 23:15:51", ts.strftime("%Y-%m-%d %H:%M:%S"));
-- ATF_REQUIRE_EQ(1328829351987654, ts.to_microseconds());
-+ ATF_REQUIRE_EQ(1328829351987654LL, ts.to_microseconds());
- ATF_REQUIRE_EQ(1328829351, ts.to_seconds());
- }
-
-@@ -248,7 +248,7 @@ ATF_TEST_CASE_BODY(timestamp__to_microseconds)
- {
- const datetime::timestamp ts1 = datetime::timestamp::from_values(
- 2010, 12, 10, 8, 45, 50, 123456);
-- ATF_REQUIRE_EQ(1291970750123456, ts1.to_microseconds());
-+ ATF_REQUIRE_EQ(1291970750123456LL, ts1.to_microseconds());
- }
-
-
-@@ -275,16 +275,16 @@ ATF_TEST_CASE_BODY(timestamp__leap_second)
- ATF_TEST_CASE_WITHOUT_HEAD(timestamp__equals);
- ATF_TEST_CASE_BODY(timestamp__equals)
- {
-- ATF_REQUIRE(datetime::timestamp::from_microseconds(1291970750123456) ==
-- datetime::timestamp::from_microseconds(1291970750123456));
-+ ATF_REQUIRE(datetime::timestamp::from_microseconds(1291970750123456LL) ==
-+ datetime::timestamp::from_microseconds(1291970750123456LL));
- }
-
-
- ATF_TEST_CASE_WITHOUT_HEAD(timestamp__differs);
- ATF_TEST_CASE_BODY(timestamp__differs)
- {
-- ATF_REQUIRE(datetime::timestamp::from_microseconds(1291970750123456) !=
-- datetime::timestamp::from_microseconds(1291970750123455));
-+ ATF_REQUIRE(datetime::timestamp::from_microseconds(1291970750123456LL) !=
-+ datetime::timestamp::from_microseconds(1291970750123455LL));
- }
-
-
-@@ -292,11 +292,11 @@ ATF_TEST_CASE_WITHOUT_HEAD(timestamp__subtraction);
- ATF_TEST_CASE_BODY(timestamp__subtraction)
- {
- const datetime::timestamp ts1 = datetime::timestamp::from_microseconds(
-- 1291970750123456);
-+ 1291970750123456LL);
- const datetime::timestamp ts2 = datetime::timestamp::from_microseconds(
-- 1291970750123468);
-+ 1291970750123468LL);
- const datetime::timestamp ts3 = datetime::timestamp::from_microseconds(
-- 1291970850123456);
-+ 1291970850123456LL);
-
- ATF_REQUIRE(datetime::delta(0, 0) == ts1 - ts1);
- ATF_REQUIRE(datetime::delta(0, 12) == ts2 - ts1);
---- utils/sqlite/statement_test.cpp
-+++ utils/sqlite/statement_test.cpp
-@@ -283,7 +283,7 @@ ATF_TEST_CASE_BODY(column_int64)
- "INSERT INTO foo VALUES (NULL, 4294967419, NULL);");
- sqlite::statement stmt = db.create_statement("SELECT * FROM foo");
- ATF_REQUIRE(stmt.step());
-- ATF_REQUIRE_EQ(4294967419L, stmt.column_int64(1));
-+ ATF_REQUIRE_EQ(4294967419LL, stmt.column_int64(1));
- ATF_REQUIRE(!stmt.step());
- }
-
-@@ -424,7 +424,7 @@ ATF_TEST_CASE_BODY(safe_column_int64__ok)
- "INSERT INTO foo VALUES (NULL, 4294967419, NULL);");
- sqlite::statement stmt = db.create_statement("SELECT * FROM foo");
- ATF_REQUIRE(stmt.step());
-- ATF_REQUIRE_EQ(4294967419L, stmt.safe_column_int64("b"));
-+ ATF_REQUIRE_EQ(4294967419LL, stmt.safe_column_int64("b"));
- ATF_REQUIRE(!stmt.step());
- }
-
-@@ -588,12 +588,12 @@ ATF_TEST_CASE_BODY(bind__int64)
- sqlite::database db = sqlite::database::in_memory();
- sqlite::statement stmt = db.create_statement("SELECT 3, ?");
-
-- stmt.bind(1, static_cast< int64_t >(4294967419L));
-+ stmt.bind(1, static_cast< int64_t >(4294967419LL));
- ATF_REQUIRE(stmt.step());
- ATF_REQUIRE(sqlite::type_integer == stmt.column_type(0));
- ATF_REQUIRE_EQ(3, stmt.column_int(0));
- ATF_REQUIRE(sqlite::type_integer == stmt.column_type(1));
-- ATF_REQUIRE_EQ(4294967419, stmt.column_int64(1));
-+ ATF_REQUIRE_EQ(4294967419LL, stmt.column_int64(1));
- ATF_REQUIRE(!stmt.step());
- }
-
---- utils/units_test.cpp
-+++ utils/units_test.cpp
-@@ -97,7 +97,7 @@ ATF_TEST_CASE_BODY(bytes__parse__tb)
- ATF_REQUIRE_EQ(0, units::bytes::parse("0T"));
- ATF_REQUIRE_EQ(units::bytes(TB), units::bytes::parse("1T"));
- ATF_REQUIRE_EQ(units::bytes(TB), units::bytes::parse("1t"));
-- ATF_REQUIRE_EQ(13567973486755, units::bytes::parse("12.340000T"));
-+ ATF_REQUIRE_EQ(13567973486755LL, units::bytes::parse("12.340000T"));
- }
-
-
-@@ -110,7 +110,7 @@ ATF_TEST_CASE_BODY(bytes__parse__gb)
- ATF_REQUIRE_EQ(0, units::bytes::parse("0G"));
- ATF_REQUIRE_EQ(units::bytes(GB), units::bytes::parse("1G"));
- ATF_REQUIRE_EQ(units::bytes(GB), units::bytes::parse("1g"));
-- ATF_REQUIRE_EQ(13249974108, units::bytes::parse("12.340G"));
-+ ATF_REQUIRE_EQ(13249974108LL, units::bytes::parse("12.340G"));
- }
-
-