From a9e8702af291b4d30fc3f9f2a1c3d48f92b5db04 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Mon, 6 Dec 2021 15:23:40 -0500 Subject: [PATCH] somewhat simplify tests by clearing metrics before each example --- src/_zkapauthorizer/_storage_server.py | 7 ++++++ .../tests/test_storage_server.py | 25 ++++++++----------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/_zkapauthorizer/_storage_server.py b/src/_zkapauthorizer/_storage_server.py index c5ce9a5..7cd3cd2 100644 --- a/src/_zkapauthorizer/_storage_server.py +++ b/src/_zkapauthorizer/_storage_server.py @@ -216,6 +216,13 @@ class ZKAPAuthorizerStorageServer(Referenceable): buckets=self._get_buckets(), ) + def _clear_metrics(self): + """ + Forget all recorded metrics. + """ + # There is also a `clear` method but it raises an AttributeError. + self._metric_spending_successes._metric_init() + def remote_get_version(self): """ Pass-through without pass check to allow clients to learn about our diff --git a/src/_zkapauthorizer/tests/test_storage_server.py b/src/_zkapauthorizer/tests/test_storage_server.py index 1abecc5..08bbc17 100644 --- a/src/_zkapauthorizer/tests/test_storage_server.py +++ b/src/_zkapauthorizer/tests/test_storage_server.py @@ -199,6 +199,10 @@ class PassValidationTests(TestCase): # method. cleanup_storage_server(self.anonymous_storage_server) + # Reset all of the metrics, too, so the individual tests have a + # simpler job (can compare values relative to 0). + self.storage_server._clear_metrics() + def test_allocate_buckets_fails_without_enough_passes(self): """ ``remote_allocate_buckets`` fails with ``MorePassesRequired`` if it is @@ -573,9 +577,6 @@ class PassValidationTests(TestCase): list(RandomToken.create() for i in range(num_passes)), ) - before_count = read_count(self.storage_server) - before_bucket = read_bucket(self.storage_server, num_passes) - # Create an initial share to toy with. test, read = self.storage_server.doRemoteCall( "slot_testv_and_readv_and_writev", @@ -593,12 +594,12 @@ class PassValidationTests(TestCase): after_bucket = read_bucket(self.storage_server, num_passes) self.expectThat( - after_count - before_count, + after_count, Equals(1), "Unexpected histogram sum value", ) self.assertThat( - after_bucket - before_bucket, + after_bucket, Equals(1), "Unexpected histogram bucket value", ) @@ -626,9 +627,6 @@ class PassValidationTests(TestCase): list(RandomToken.create() for i in range(num_passes)), ) - before_count = read_count(self.storage_server) - before_bucket = read_bucket(self.storage_server, num_passes) - alreadygot, allocated = self.storage_server.doRemoteCall( "allocate_buckets", (), @@ -647,12 +645,12 @@ class PassValidationTests(TestCase): after_bucket = read_bucket(self.storage_server, num_passes) self.expectThat( - after_count - before_count, + after_count, Equals(1), "Unexpected histogram sum value", ) self.assertThat( - after_bucket - before_bucket, + after_bucket, Equals(1), "Unexpected histogram bucket value", ) @@ -692,9 +690,6 @@ class PassValidationTests(TestCase): list(RandomToken.create() for i in range(num_passes)), ) - before_count = read_count(self.storage_server) - before_bucket = read_bucket(self.storage_server, num_passes) - self.storage_server.doRemoteCall( "add_lease", (), @@ -710,12 +705,12 @@ class PassValidationTests(TestCase): after_bucket = read_bucket(self.storage_server, num_passes) self.expectThat( - after_count - before_count, + after_count, Equals(1), "Unexpected histogram sum value", ) self.assertThat( - after_bucket - before_bucket, + after_bucket, Equals(1), "Unexpected histogram bucket value", ) -- GitLab