示例#1
0
 public function testFreeMemory()
 {
     $getMemoryUsage = function () {
         $pid = CM_Process::getInstance()->getProcessId();
         $memory = CM_Util::exec('ps', ['-o', 'rss', '--no-headers', '--pid', $pid]);
         return (int) $memory;
     };
     $imageOriginal = new CM_File_Image(DIR_TEST_DATA . 'img/test.jpg');
     $image = CM_File_Image::createTmp(null, $imageOriginal->read());
     $memoryUsage = $getMemoryUsage();
     $memoryUsageMaxExpected = $memoryUsage + 20 * 1000;
     $image->resizeSpecific(3000, 3000);
     $this->assertGreaterThan($memoryUsageMaxExpected, $getMemoryUsage());
     $image->freeMemory();
     $this->assertLessThan($memoryUsageMaxExpected, $getMemoryUsage());
     $image->validateImage();
 }