mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Add python-robotframework.
* gnu/packages/python-xyz.scm (python-robotframework): New variable. * gnu/packages/patches/python-robotframework-honor-source-date-epoch.patch: Add patch. * gnu/local.mk (dist_patch_DATA): Register it.
This commit is contained in:
parent
c0c0bb3823
commit
b979028527
3 changed files with 108 additions and 0 deletions
|
@ -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
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue