Index: head/devel/kyua/Makefile =================================================================== --- head/devel/kyua/Makefile (revision 566670) +++ head/devel/kyua/Makefile (revision 566671) @@ -1,58 +1,51 @@ # $FreeBSD$ PORTNAME= kyua PORTVERSION= 0.13 -PORTEPOCH= 3 PORTREVISION= 5 +PORTEPOCH= 3 CATEGORIES= devel MASTER_SITES= https://github.com/jmmv/kyua/releases/download/${PORTNAME}-${PORTVERSION}/ \ LOCAL/jmmv MAINTAINER= jmmv@FreeBSD.org COMMENT= Testing framework for infrastructure software LICENSE= BSD3CLAUSE LIB_DEPENDS= liblutok.so:devel/lutok -LIB_DEPENDS+= libsqlite3.so:databases/sqlite3 -CONFLICTS= kyua-atf-compat-[0-9]* kyua-cli-[0-9]* kyua-testers-[0-9]* +USES= lua pkgconfig sqlite GNU_CONFIGURE= yes -USES= lua pkgconfig +CONFIGURE_ARGS= --docdir=${DOCSDIR} \ + --without-doxygen +MAKE_ARGS= examplesdir=${EXAMPLESDIR} \ + pkgdatadir=${DATADIR} -TESTS_USER= tests -USERS= ${TESTS_USER} -GROUPS= tests +CONFLICTS= kyua-atf-compat-[0-9]* kyua-cli-[0-9]* kyua-testers-[0-9]* + SUB_FILES= kyua.conf -SUB_LIST= TESTS_USER=${TESTS_USER} +_TESTS_USER= tests +SUB_LIST= TESTS_USER=${_TESTS_USER} +USERS= ${_TESTS_USER} +GROUPS= tests -OPTIONS_DEFINE= DOCS EXAMPLES TEST -OPTIONS_DEFAULT=TEST - +OPTIONS_DEFINE= DOCS EXAMPLES TEST +OPTIONS_DEFAULT= TEST OPTIONS_SUB= yes -TEST_CONFIGURE_WITH= atf + +DOCS_MAKE_ARGS_OFF= doc_DATA= +EXAMPLES_MAKE_ARGS_OFF= dist_examples_DATA= TEST_BUILD_DEPENDS= atf>=0.21:devel/atf TEST_RUN_DEPENDS= atf>=0.21:devel/atf +TEST_CONFIGURE_WITH= atf -.include - -CONFIGURE_ARGS+= --without-doxygen -CONFIGURE_ARGS+= --docdir=${DOCSDIR} -MAKE_FLAGS+= examplesdir=${EXAMPLESDIR} -MAKE_FLAGS+= pkgdatadir=${DATADIR} - -.if ! ${PORT_OPTIONS:MDOCS} -MAKE_FLAGS+= doc_DATA= -.endif -.if ! ${PORT_OPTIONS:MEXAMPLES} -MAKE_FLAGS+= dist_examples_DATA= -.endif - post-install: - ${MKDIR} ${STAGEDIR}${PREFIX}/etc/kyua/ - ${INSTALL_DATA} ${WRKDIR}/kyua.conf ${STAGEDIR}${PREFIX}/etc/kyua/kyua.conf.sample + @${MKDIR} ${STAGEDIR}${PREFIX}/etc/kyua + ${INSTALL_DATA} ${WRKDIR}/kyua.conf \ + ${STAGEDIR}${PREFIX}/etc/kyua/kyua.conf.sample ${INSTALL_DATA} ${WRKSRC}/examples/Kyuafile.top \ ${STAGEDIR}${PREFIX}/tests/Kyuafile .include Index: head/devel/kyua/files/patch-utils_datetime.cpp =================================================================== --- head/devel/kyua/files/patch-utils_datetime.cpp (revision 566670) +++ head/devel/kyua/files/patch-utils_datetime.cpp (revision 566671) @@ -1,20 +1,20 @@ ---- utils/datetime.cpp.orig +--- utils/datetime.cpp.orig 2016-08-26 10:09:37 UTC +++ utils/datetime.cpp -@@ -590,11 +590,12 @@ +@@ -590,11 +590,12 @@ datetime::timestamp::operator-=(const da datetime::delta datetime::timestamp::operator-(const datetime::timestamp& other) const { - if ((*this) < other) { - throw std::runtime_error( - F("Cannot subtract %s from %s as it would result in a negative " - "datetime::delta, which are not supported") % other % (*this)); - } + /* + * XXX-BD: gettimeofday isn't necessicarily monotonic so return the + * smallest non-zero delta if time went backwards. + */ + if ((*this) < other) + return datetime::delta::from_microseconds(1); return datetime::delta::from_microseconds(to_microseconds() - other.to_microseconds()); } Index: head/devel/kyua/files/patch-utils_datetime__test.cpp =================================================================== --- head/devel/kyua/files/patch-utils_datetime__test.cpp (revision 566670) +++ head/devel/kyua/files/patch-utils_datetime__test.cpp (revision 566671) @@ -1,19 +1,19 @@ ---- utils/datetime_test.cpp.orig 2017-04-08 05:25:26 UTC +--- utils/datetime_test.cpp.orig 2016-08-26 10:09:37 UTC +++ utils/datetime_test.cpp @@ -532,11 +532,11 @@ ATF_TEST_CASE_BODY(timestamp__subtractio ATF_REQUIRE_EQ(datetime::delta(100, 0), ts3 - ts1); ATF_REQUIRE_EQ(datetime::delta(99, 999988), ts3 - ts2); - ATF_REQUIRE_THROW_RE( - std::runtime_error, - "Cannot subtract 1291970850123456us from 1291970750123468us " - ".*negative datetime::delta.*not supported", - ts2 - ts3); + /* + * NOTE (ngie): behavior change for + * https://github.com/jmmv/kyua/issues/155 . + */ + ATF_REQUIRE_EQ(datetime::delta::from_microseconds(1), ts2 - ts3); }