002.phpt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. --TEST--
  2. shm_attach() tests
  3. --EXTENSIONS--
  4. sysvshm
  5. --SKIPIF--
  6. <?php
  7. if (!function_exists('ftok')){ print 'skip'; }
  8. ?>
  9. --FILE--
  10. <?php
  11. $key = ftok(__FILE__, 't');
  12. try {
  13. shm_attach(-1, 0);
  14. } catch (ValueError $exception) {
  15. echo $exception->getMessage() . "\n";
  16. }
  17. try {
  18. shm_attach(0, -1);
  19. } catch (ValueError $exception) {
  20. echo $exception->getMessage() . "\n";
  21. }
  22. try {
  23. shm_attach(123, -1);
  24. } catch (ValueError $exception) {
  25. echo $exception->getMessage() . "\n";
  26. }
  27. try {
  28. shm_attach($key, -1);
  29. } catch (ValueError $exception) {
  30. echo $exception->getMessage() . "\n";
  31. }
  32. try {
  33. shm_attach($key, 0);
  34. } catch (ValueError $exception) {
  35. echo $exception->getMessage() . "\n";
  36. }
  37. var_dump($s = shm_attach($key, 1024));
  38. shm_remove($s);
  39. var_dump($s = shm_attach($key, 1024));
  40. shm_remove($s);
  41. var_dump($s = shm_attach($key, 1024, 0666));
  42. shm_remove($s);
  43. var_dump($s = shm_attach($key, 1024));
  44. shm_remove($s);
  45. var_dump($s = shm_attach($key));
  46. shm_remove($s);
  47. echo "Done\n";
  48. ?>
  49. --EXPECTF--
  50. shm_attach(): Argument #2 ($size) must be greater than 0
  51. shm_attach(): Argument #2 ($size) must be greater than 0
  52. shm_attach(): Argument #2 ($size) must be greater than 0
  53. shm_attach(): Argument #2 ($size) must be greater than 0
  54. shm_attach(): Argument #2 ($size) must be greater than 0
  55. object(SysvSharedMemory)#%d (0) {
  56. }
  57. object(SysvSharedMemory)#%d (0) {
  58. }
  59. object(SysvSharedMemory)#%d (0) {
  60. }
  61. object(SysvSharedMemory)#%d (0) {
  62. }
  63. object(SysvSharedMemory)#%d (0) {
  64. }
  65. Done