summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/python-robotframework-source-date-epoch.patch
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-26 22:49:29 +0100
committerLudovic Courtès <ludo@gnu.org>2020-10-26 22:56:29 +0100
commitab96f929c6979e9476181ab73256f993674c9a55 (patch)
tree698f68aba67ff8e669418e2b48bcc49e98544921 /gnu/packages/patches/python-robotframework-source-date-epoch.patch
parentbdab33a170c57024bf8de9ab6724db0193422e92 (diff)
downloadguix-patches-ab96f929c6979e9476181ab73256f993674c9a55.tar
guix-patches-ab96f929c6979e9476181ab73256f993674c9a55.tar.gz
gnu: python-robotframework: Shorten patch file name.
* gnu/packages/patches/python-robotframework-honor-source-date-epoch.patch: Rename to... * gnu/packages/patches/python-robotframework-source-date-epoch.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python-xyz.scm (python-robotframework)[source]: Likewise.
Diffstat (limited to 'gnu/packages/patches/python-robotframework-source-date-epoch.patch')
-rw-r--r--gnu/packages/patches/python-robotframework-source-date-epoch.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/patches/python-robotframework-source-date-epoch.patch b/gnu/packages/patches/python-robotframework-source-date-epoch.patch
new file mode 100644
index 0000000000..ccd87911d8
--- /dev/null
+++ b/gnu/packages/patches/python-robotframework-source-date-epoch.patch
@@ -0,0 +1,62 @@
+From 3cc41c05fad5601c0dd1832f64a6e9efca017727 Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Date: Mon, 1 Apr 2019 11:36:04 -0400
+Subject: [PATCH] robottime: Honor the SOURCE_DATE_EPOCH environment variable.
+
+Honoring the SOURCE_DATE_EPOCH environment variable allows building
+the documentation using libdoc reproducibly, by setting the generated
+timestamp to a fixed value.
+
+For more background on reproducible builds and the SOURCE_DATE_EPOCH
+environment variable, see:
+https://reproducible-builds.org/specs/source-date-epoch/.
+
+* src/robot/utils/robottime.py: import `os'.
+(TimestampCache._get_epoch): Retrieve date from SOURCE_DATE_EPOCH if
+it is defined, otherwise from time.time().
+* utest/output/test_logger.py (TestLogger.test_write_to_one_logger):
+Check for the existance of a timestamp attribute instead of checking
+for its content as the later is easy to break when using the
+SOURCE_DATE_EPOCH environment variable.
+---
+ src/robot/utils/robottime.py | 3 +++
+ utest/output/test_logger.py | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/robot/utils/robottime.py b/src/robot/utils/robottime.py
+index 06432a4a6..91526f826 100644
+--- a/src/robot/utils/robottime.py
++++ b/src/robot/utils/robottime.py
+@@ -14,6 +14,7 @@
+ # limitations under the License.
+
+ import datetime
++import os
+ import time
+ import re
+
+@@ -395,6 +396,8 @@ class TimestampCache(object):
+
+ # Seam for mocking
+ def _get_epoch(self):
++ if os.getenv('SOURCE_DATE_EPOCH'):
++ return float(os.getenv('SOURCE_DATE_EPOCH'))
+ return time.time()
+
+ def _use_cache(self, secs, *separators):
+diff --git a/utest/output/test_logger.py b/utest/output/test_logger.py
+index 92fe6d77d..e980227aa 100644
+--- a/utest/output/test_logger.py
++++ b/utest/output/test_logger.py
+@@ -46,7 +46,7 @@ class TestLogger(unittest.TestCase):
+ logger = LoggerMock(('Hello, world!', 'INFO'))
+ self.logger.register_logger(logger)
+ self.logger.write('Hello, world!', 'INFO')
+- assert_true(logger.msg.timestamp.startswith('20'))
++ assert_true(hasattr(logger.msg, 'timestamp'))
+
+ def test_write_to_one_logger_with_trace_level(self):
+ logger = LoggerMock(('expected message', 'TRACE'))
+--
+2.20.1
+