diff options
author | jmmv <jmmv> | 2013-02-23 03:37:40 +0000 |
---|---|---|
committer | jmmv <jmmv> | 2013-02-23 03:37:40 +0000 |
commit | e4e85b8bf08eade722b5c7e262ac72b678ebc117 (patch) | |
tree | 6655d1e8a7dbcd929d5e8a88ee9e4e95bf983e08 | |
parent | 6a1a7dc960253ee196d129d44bb851bb0b76877c (diff) | |
download | pkgsrc-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/Makefile | 9 | ||||
-rw-r--r-- | devel/kyua-cli/PLIST | 65 | ||||
-rw-r--r-- | devel/kyua-cli/distinfo | 10 | ||||
-rw-r--r-- | devel/kyua-cli/patches/patch-aa | 54 | ||||
-rw-r--r-- | devel/kyua-cli/patches/patch-ab | 122 |
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")); - } - - |