From 25b62280ae5db0544e20151c5561dbafce9cb3dc Mon Sep 17 00:00:00 2001 From: bd Date: Tue, 5 Aug 2025 22:09:15 -0400 Subject: Fix asyncgenerators, gather --- t/test_functionality.py | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) (limited to 't/test_functionality.py') diff --git a/t/test_functionality.py b/t/test_functionality.py index d6bf60c..f259a26 100644 --- a/t/test_functionality.py +++ b/t/test_functionality.py @@ -68,14 +68,12 @@ class BasicUsage(utils.AergiaUnitTestCase): aergia_samples = self.Aergia.get_samples() self.assert_reasonable_delay('b', delay * 3, aergia_samples) - # the gather function is technically waiting for all tasks to finish. - # This might be seen as unintuitive though I don't want to bias the - # results by adding logic to add artificial consistency. - # profiling does not mean obscuring implementation details. - self.assert_reasonable_delay('a', delay, aergia_samples) + self.assert_reasonable_delay('a', 0, aergia_samples) self.assert_similar_delay('b', yappi_samples, aergia_samples) - self.assert_similar_delay('a', yappi_samples, aergia_samples) + # Aergia only assigns time to the current line when the task suspends + # This should fail. + # self.assert_similar_delay('a', yappi_samples, aergia_samples) def test_subthread_task(self): delay = 0.2 @@ -97,12 +95,13 @@ class BasicUsage(utils.AergiaUnitTestCase): self.assert_reasonable_delay('c', delay, aergia_samples) self.assert_reasonable_delay('b', delay * 3, aergia_samples) - # see comment on `test_simultaneous_tasks'. - self.assert_reasonable_delay('a', delay, aergia_samples) + self.assert_reasonable_delay('a', 0, aergia_samples) self.assert_similar_delay('c', yappi_samples, aergia_samples) self.assert_similar_delay('b', yappi_samples, aergia_samples) - self.assert_similar_delay('a', yappi_samples, aergia_samples) + # Aergia only assigns time to the current line when the task suspends + # This should fail. + # self.assert_similar_delay('a', yappi_samples, aergia_samples) def test_eager_task(self): delay = 0.2 @@ -172,15 +171,10 @@ class BasicUsage(utils.AergiaUnitTestCase): yappi_samples = yappi.get_func_stats() aergia_samples = self.Aergia.get_samples() - # TODO There are some minor shortcomings with the way Aergia handles - # async_generators. Lines which call the async generator will always - # be assigned the async generator's execution time as well. yappi - # also seems inconsistent. - self.assert_reasonable_delay('b', delay * num_times, aergia_samples) - self.assert_reasonable_delay('a', delay * num_times, aergia_samples) + self.assert_reasonable_delay('a', 0, aergia_samples) - self.assert_similar_delay('a', yappi_samples, aergia_samples) + # self.assert_similar_delay('a', yappi_samples, aergia_samples) self.assert_similar_delay('b', yappi_samples, aergia_samples) def test_async_gen_and_comp(self): @@ -206,13 +200,13 @@ class BasicUsage(utils.AergiaUnitTestCase): self.assert_reasonable_delay('b', delay * num_times, aergia_samples) self.assert_reasonable_delay('a', 0, aergia_samples) - self.assert_reasonable_delay('', delay * num_times, aergia_samples) + self.assert_reasonable_delay('', 0, aergia_samples) self.assert_similar_delay('b', yappi_samples, aergia_samples) # Aergia only assigns time to the current line when the task suspends # This should fail. # self.assert_similar_delay('a', yappi_samples, aergia_samples) - self.assert_similar_delay('', yappi_samples, aergia_samples) + # self.assert_similar_delay('', yappi_samples, aergia_samples) def test_deep_await(self): delay = 0.2 -- cgit v1.2.3