1--TEST-- 2pcntl_getcpuaffinity() and pcntl_setcpuaffinity() 3--EXTENSIONS-- 4pcntl 5--SKIPIF-- 6<?php 7if (!function_exists("pcntl_setcpuaffinity")) die("skip pcntl_setcpuaffinity is not available"); 8if (getenv('TRAVIS')) die('skip Currently fails on Travis'); 9?> 10--FILE-- 11<?php 12$mask = [0, 1]; 13var_dump(pcntl_setcpuaffinity(null, $mask)); 14$act_mask = pcntl_getcpuaffinity(); 15var_dump(array_diff($mask, $act_mask)); 16$n_act_mask = pcntl_getcpuaffinity(); 17var_dump(array_diff($act_mask, $n_act_mask)); 18var_dump(pcntl_setcpuaffinity(null, ["0", "1"])); 19 20try { 21 pcntl_setcpuaffinity(null, []); 22} catch (\ValueError $e) { 23 echo $e->getMessage() . PHP_EOL; 24} 25 26try { 27 pcntl_setcpuaffinity(null, ["abc" => "def", 0 => "cpuid"]); 28} catch (\ValueError $e) { 29 echo $e->getMessage() . PHP_EOL; 30} 31 32try { 33 pcntl_setcpuaffinity(null, [PHP_INT_MAX]); 34} catch (\ValueError $e) { 35 echo $e->getMessage() . PHP_EOL; 36} 37 38try { 39 pcntl_setcpuaffinity(null, [-1024, 64, -2]); 40} catch (\ValueError $e) { 41 echo $e->getMessage() . PHP_EOL; 42} 43 44try { 45 pcntl_getcpuaffinity(-1024); 46} catch (\ValueError $e) { 47 echo $e->getMessage() . PHP_EOL; 48} 49 50try { 51 pcntl_setcpuaffinity(null, [1, array(1)]); 52} catch (\ValueError $e) { 53 echo $e->getMessage(); 54} 55?> 56--EXPECTF-- 57bool(true) 58array(0) { 59} 60array(0) { 61} 62bool(true) 63pcntl_setcpuaffinity(): Argument #2 ($cpu_ids) must not be empty 64pcntl_setcpuaffinity(): Argument #2 ($cpu_ids) cpu id invalid value (def) 65pcntl_setcpuaffinity(): Argument #2 ($cpu_ids) cpu id must be between 0 and %d (%d) 66pcntl_setcpuaffinity(): Argument #2 ($cpu_ids) cpu id must be between 0 and %d (-1024) 67pcntl_getcpuaffinity(): Argument #1 ($process_id) invalid process (-1024) 68 69Warning: Array to string conversion in %s on line %d 70pcntl_setcpuaffinity(): Argument #2 ($cpu_ids) cpu id invalid type (Array) 71