From d49ca7a966571bb8cffc029a302100850c7a6098 Mon Sep 17 00:00:00 2001 From: Phil Davis Date: Fri, 15 Jul 2022 14:49:03 +0545 Subject: [PATCH 1/2] Allow testSendToGetLargeContent peak memory usage to be specified externally --- tests/HTTP/ClientTest.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/HTTP/ClientTest.php b/tests/HTTP/ClientTest.php index 649702b..7bcf9e0 100644 --- a/tests/HTTP/ClientTest.php +++ b/tests/HTTP/ClientTest.php @@ -209,12 +209,19 @@ public function testSendToGetLargeContent() $this->markTestSkipped('Set an environment value BASEURL to continue'); } + // Allow the peak memory usage limit to be specified externally, if needed. + // When running this test in different environments it may be appropriate to set a different limit. + $maxPeakMemoryUsage = \getenv('SABRE_HTTP_TEST_GET_LARGE_CONTENT_MAX_PEAK_MEMORY_USAGE'); + if (false === $maxPeakMemoryUsage) { + $maxPeakMemoryUsage = 60 * pow(1024, 2); + } + $request = new Request('GET', $url); $client = new Client(); $response = $client->send($request); $this->assertEquals(200, $response->getStatus()); - $this->assertLessThan(60 * pow(1024, 2), memory_get_peak_usage()); + $this->assertLessThan((int) $maxPeakMemoryUsage, memory_get_peak_usage()); } /** From 94321c1396504114aa93fb30178044ba356fb0bd Mon Sep 17 00:00:00 2001 From: Phil Davis Date: Fri, 15 Jul 2022 17:41:12 +0545 Subject: [PATCH 2/2] Add hint for SABRE_HTTP_TEST_GET_LARGE_CONTENT_MAX_PEAK_MEMORY_USAGE env var in test --- tests/HTTP/ClientTest.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/HTTP/ClientTest.php b/tests/HTTP/ClientTest.php index 7bcf9e0..b014b62 100644 --- a/tests/HTTP/ClientTest.php +++ b/tests/HTTP/ClientTest.php @@ -211,7 +211,8 @@ public function testSendToGetLargeContent() // Allow the peak memory usage limit to be specified externally, if needed. // When running this test in different environments it may be appropriate to set a different limit. - $maxPeakMemoryUsage = \getenv('SABRE_HTTP_TEST_GET_LARGE_CONTENT_MAX_PEAK_MEMORY_USAGE'); + $maxPeakMemoryUsageEnvVariable = 'SABRE_HTTP_TEST_GET_LARGE_CONTENT_MAX_PEAK_MEMORY_USAGE'; + $maxPeakMemoryUsage = \getenv($maxPeakMemoryUsageEnvVariable); if (false === $maxPeakMemoryUsage) { $maxPeakMemoryUsage = 60 * pow(1024, 2); } @@ -221,7 +222,11 @@ public function testSendToGetLargeContent() $response = $client->send($request); $this->assertEquals(200, $response->getStatus()); - $this->assertLessThan((int) $maxPeakMemoryUsage, memory_get_peak_usage()); + $this->assertLessThan( + (int) $maxPeakMemoryUsage, + memory_get_peak_usage(), + "Hint: you can adjust the max peak memory usage allowed for this test by defining env variable $maxPeakMemoryUsageEnvVariable to be the desired max bytes" + ); } /**