svn commit: r436312 - in head/devel/kyua: . files
Brooks Davis
brooks at FreeBSD.org
Thu Mar 16 23:12:46 UTC 2017
Author: brooks
Date: Thu Mar 16 23:12:44 2017
New Revision: 436312
URL: https://svnweb.freebsd.org/changeset/ports/436312
Log:
Hack around wall clock time going backwards.
As reported in https://github.com/jmmv/kyua/issues/155, the wall clock
time can go backwards resulting in an apparent negative delta. As
a workaround, convert such deltas to 1us. This allows tests to run
successfully in MIPS64 qemu.
Approved by: jmmv (maintainer)
Sponsored by: DARPA, AFRL
Added:
head/devel/kyua/files/patch-utils_datetime.cpp (contents, props changed)
Modified:
head/devel/kyua/Makefile
Modified: head/devel/kyua/Makefile
==============================================================================
--- head/devel/kyua/Makefile Thu Mar 16 23:00:08 2017 (r436311)
+++ head/devel/kyua/Makefile Thu Mar 16 23:12:44 2017 (r436312)
@@ -3,6 +3,7 @@
PORTNAME= kyua
PORTVERSION= 0.13
PORTEPOCH= 3
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://github.com/jmmv/kyua/releases/download/${PORTNAME}-${PORTVERSION}/ \
LOCAL/jmmv
Added: head/devel/kyua/files/patch-utils_datetime.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/kyua/files/patch-utils_datetime.cpp Thu Mar 16 23:12:44 2017 (r436312)
@@ -0,0 +1,23 @@
+
+$FreeBSD$
+
+--- utils/datetime.cpp.orig
++++ utils/datetime.cpp
+@@ -590,11 +590,12 @@
+ 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());
+ }
More information about the svn-ports-all
mailing list