summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2020-11-04 21:48:19 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2020-11-04 21:57:14 -0500
commit3e77d698d6109f8bc681033f3bdb8b6383cc6e0a (patch)
treefbbb986eb940190e509e783b1cb7d83e0ebdab90 /tests
parent9e16bb8e5ac2694845c1e3e7cb6781cbac6dc0d2 (diff)
downloaddogpile-cache-3e77d698d6109f8bc681033f3bdb8b6383cc6e0a.tar.gz
mark thread-intensive tests and disable by default
using the tox 'full' environment marker will enable them. Fixes: #151 Fixes: #118 Fixes: #59 Change-Id: Ida5a9572ddd7f83ef4580e9e53fe2ae8acb64496
Diffstat (limited to 'tests')
-rw-r--r--tests/cache/_fixtures.py4
-rw-r--r--tests/test_lock.py9
2 files changed, 13 insertions, 0 deletions
diff --git a/tests/cache/_fixtures.py b/tests/cache/_fixtures.py
index c97ceb6..9d8176c 100644
--- a/tests/cache/_fixtures.py
+++ b/tests/cache/_fixtures.py
@@ -184,6 +184,7 @@ class _GenericBackendTest(_GenericBackendFixture, TestCase):
eq_(reg.get_or_create("some key", creator), "some value")
+ @pytest.mark.time_intensive
def test_threaded_dogpile(self):
# run a basic dogpile concurrency test.
# note the concurrency of dogpile itself
@@ -214,6 +215,7 @@ class _GenericBackendTest(_GenericBackendFixture, TestCase):
if not reg.backend.has_lock_timeout():
assert False not in canary
+ @pytest.mark.time_intensive
def test_threaded_get_multi(self):
reg = self._region(config_args={"expiration_time": 0.25})
locks = dict((str(i), Lock()) for i in range(11))
@@ -270,6 +272,7 @@ class _GenericBackendTest(_GenericBackendFixture, TestCase):
reg.delete("some key")
eq_(reg.get("some key"), NO_VALUE)
+ @pytest.mark.time_intensive
def test_region_expire(self):
# TODO: ideally tests like these would not be using actual
# time(); instead, an artificial function where the increment
@@ -344,6 +347,7 @@ class _GenericMutexTest(_GenericBackendFixture, TestCase):
assert ac3
mutex.release()
+ @pytest.mark.time_intensive
def test_mutex_threaded(self):
backend = self._backend()
backend.get_mutex("foo")
diff --git a/tests/test_lock.py b/tests/test_lock.py
index 4cec3cf..71dd192 100644
--- a/tests/test_lock.py
+++ b/tests/test_lock.py
@@ -6,6 +6,8 @@ import time
from unittest import mock
from unittest import TestCase
+import pytest
+
from dogpile import Lock
from dogpile import NeedRegenerationException
from dogpile.util import ReadWriteMutex
@@ -18,9 +20,11 @@ class ConcurrencyTest(TestCase):
_assertion_lock = threading.Lock()
+ @pytest.mark.time_intensive
def test_quick(self):
self._test_multi(10, 2, 0.5, 50, 0.05, 0.1)
+ @pytest.mark.time_intensive
def test_slow(self):
self._test_multi(10, 5, 2, 50, 0.1, 0.1)
@@ -32,20 +36,25 @@ class ConcurrencyTest(TestCase):
# slow_write_time=2
# )
+ @pytest.mark.time_intensive
def test_return_while_in_progress(self):
self._test_multi(10, 5, 2, 50, 1, 0.1)
+ @pytest.mark.time_intensive
def test_get_value_plus_created_long_create(self):
self._test_multi(10, 2, 2.5, 50, 0.05, 0.1)
+ @pytest.mark.time_intensive
def test_get_value_plus_created_registry_unsafe_cache(self):
self._test_multi(
10, 1, 0.6, 100, 0.05, 0.1, cache_expire_time="unsafe"
)
+ @pytest.mark.time_intensive
def test_get_value_plus_created_registry_safe_cache_quick(self):
self._test_multi(10, 2, 0.5, 50, 0.05, 0.1, cache_expire_time="safe")
+ @pytest.mark.time_intensive
def test_get_value_plus_created_registry_safe_cache_slow(self):
self._test_multi(10, 5, 2, 50, 0.1, 0.1, cache_expire_time="safe")