diff options
author | Michael Weimann <mail@michael-weimann.eu> | 2018-08-04 20:39:51 +0200 |
---|---|---|
committer | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2018-08-20 15:24:10 +0200 |
commit | 1d2bc9c45ecbbb7521dbf14dba6560d925691f01 (patch) | |
tree | a2f3ba70eb4b38b8b793ed9acd239ec52f98f5b0 /tests/lib/MemoryInfoTest.php | |
parent | c2fced446396dad822404f3fae3ccb1c7df0dc89 (diff) | |
download | nextcloud-server-1d2bc9c45ecbbb7521dbf14dba6560d925691f01.tar.gz nextcloud-server-1d2bc9c45ecbbb7521dbf14dba6560d925691f01.zip |
Adds tests for the setup memory limit checks
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
Diffstat (limited to 'tests/lib/MemoryInfoTest.php')
-rw-r--r-- | tests/lib/MemoryInfoTest.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/lib/MemoryInfoTest.php b/tests/lib/MemoryInfoTest.php new file mode 100644 index 00000000000..9cd4fd56038 --- /dev/null +++ b/tests/lib/MemoryInfoTest.php @@ -0,0 +1,73 @@ +<?php + +namespace Test; + +use OC\MemoryInfo; + +/** + * This class provides tests for the MemoryInfo class. + */ +class MemoryInfoTest extends TestCase { + /** + * @var MemoryInfo + */ + private $memoryInfo; + + /** + * The "memory_limit" value before tests. + * + * @var string + */ + private $iniSettingBeforeTest; + + /** + * @beforeClass + */ + public function backupMemoryInfoIniSetting() { + $this->iniSettingBeforeTest = ini_get('memory_limit'); + } + + /** + * @afterClass + */ + public function restoreMemoryInfoIniSetting() { + ini_set('memory_limit', $this->iniSettingBeforeTest); + } + + /** + * Setups a MemoryInfo instance for tests. + * + * @before + */ + public function setupMemoryInfo() { + $this->memoryInfo = new MemoryInfo(); + } + + /** + * Provides test data. + * + * @return array + */ + public function getMemoryLimitTestData(): array { + return [ + 'unlimited' => ['-1', -1,], + '0' => ['0', 0,], + '134217728 bytes' => ['134217728', 134217728,], + '128M' => ['128M', 134217728,], + '131072K' => ['131072K', 134217728,], + '2G' => ['2G', 2147483648,], + ]; + } + + /** + * Tests that getMemoryLimit works as expected. + * + * @param string $iniValue The "memory_limit" ini data. + * @param int $expected The expected detected memory limit. + * @dataProvider getMemoryLimitTestData + */ + public function testMemoryLimit($iniValue, $expected) { + ini_set('memory_limit', $iniValue); + self::assertEquals($expected, $this->memoryInfo->getMemoryLimit()); + } +} |