summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2017-04-04 12:18:25 +0200
committerdrebs <drebs@leap.se>2017-04-04 18:34:45 +0200
commit218273f4284ecf2d80def30ae74d92bc99b974b7 (patch)
treec889aafb4b847faa3a7dc8165cd6ee9d07e44ebc
parent414ecfbb95b067d8f72400af4da9ed686742efc3 (diff)
[feat] add the host hostname to benchmark machine info
-rw-r--r--testing/tests/benchmarks/conftest.py2
-rw-r--r--testing/tests/conftest.py20
-rw-r--r--testing/tox.ini3
3 files changed, 23 insertions, 2 deletions
diff --git a/testing/tests/benchmarks/conftest.py b/testing/tests/benchmarks/conftest.py
index 1b99d96e..bec5d7ab 100644
--- a/testing/tests/benchmarks/conftest.py
+++ b/testing/tests/benchmarks/conftest.py
@@ -1,6 +1,6 @@
+import base64
import pytest
import random
-import base64
from twisted.internet import threads, reactor
diff --git a/testing/tests/conftest.py b/testing/tests/conftest.py
index 589cb7de..2459307a 100644
--- a/testing/tests/conftest.py
+++ b/testing/tests/conftest.py
@@ -3,6 +3,8 @@ import os
import pytest
import requests
import signal
+import socket
+import sys
import time
from hashlib import sha512
@@ -215,3 +217,21 @@ def soledad_client(tmpdir, soledad_server, remote_db, soledad_dbs, request):
request.addfinalizer(soledad_client.close)
return soledad_client
return create
+
+
+#
+# pytest-benchmark customizations
+#
+
+# avoid hooking if this is not a benchmarking environment
+if 'pytest_benchmark' in sys.modules:
+
+ def pytest_benchmark_update_machine_info(config, machine_info):
+ """
+ Add the host's hostname information to machine_info.
+
+ Get the value from the HOST_HOSTNAME environment variable if it is set,
+ or from the actual system's hostname otherwise.
+ """
+ hostname = os.environ.get('HOST_HOSTNAME', socket.gethostname())
+ machine_info['host'] = hostname
diff --git a/testing/tox.ini b/testing/tox.ini
index 0e4b2683..2acbf4fb 100644
--- a/testing/tox.ini
+++ b/testing/tox.ini
@@ -64,10 +64,11 @@ install_command = pip3 install {opts} {packages}
deps =
{[testenv]deps}
#pytest-benchmark>=3.1.0a2
- git+https://github.com/drebs/pytest-benchmark.git@use-netrc-file
+ git+https://github.com/drebs/pytest-benchmark.git@fix-update-machine-info-hook-spec
elasticsearch
certifi
commands = py.test --benchmark-only {posargs}
+passenv = HOST_HOSTNAME
[testenv:code-check]
changedir = ..