005.phpt 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. --TEST--
  2. sysvmsg functions on non-existing queue
  3. --SKIPIF--
  4. <?php if (!extension_loaded("sysvmsg")) die("skip sysvmsg extension is not available")?>
  5. --FILE--
  6. <?php
  7. $tests = array(null, 'foo');
  8. foreach ($tests as $q) {
  9. if ($q === null) {
  10. do {
  11. $id = ftok(__FILE__, chr(mt_rand(0, 255)));
  12. } while (msg_queue_exists($id));
  13. $q = msg_get_queue($id) or die("Failed to create queue");
  14. msg_remove_queue($q) or die("Failed to close queue");
  15. }
  16. echo "Using '$q' as queue resource:\n";
  17. $errno = 0;
  18. var_dump(msg_set_queue($q, array('msg_qbytes' => 1)));
  19. var_dump(msg_stat_queue($q));
  20. var_dump(msg_receive($q, 0, $null, 1, $msg, true, 0, $errno));
  21. var_dump($errno != 0);
  22. // again, but triggering an E_WARNING
  23. var_dump(msg_receive($q, 0, $null, 0, $msg));
  24. var_dump(msg_send($q, 1, 'foo', true, true, $errno));
  25. var_dump($errno != 0);
  26. }
  27. echo "Done\n";
  28. ?>
  29. --EXPECTF--
  30. Using 'Resource id #4' as queue resource:
  31. bool(false)
  32. bool(false)
  33. bool(false)
  34. bool(true)
  35. Warning: msg_receive(): maximum size of the message has to be greater than zero in %s on line %d
  36. bool(false)
  37. Warning: msg_send(): msgsnd failed: Invalid argument in %s on line %d
  38. bool(false)
  39. bool(true)
  40. Using 'foo' as queue resource:
  41. Warning: msg_set_queue() expects parameter 1 to be resource, string given in %s on line %d
  42. bool(false)
  43. Warning: msg_stat_queue() expects parameter 1 to be resource, string given in %s on line %d
  44. bool(false)
  45. Warning: msg_receive() expects parameter 1 to be resource, string given in %s on line %d
  46. bool(false)
  47. bool(false)
  48. Warning: msg_receive() expects parameter 1 to be resource, string given in %s on line %d
  49. bool(false)
  50. Warning: msg_send() expects parameter 1 to be resource, string given in %s on line %d
  51. bool(false)
  52. bool(false)
  53. Done