005.phpt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --TEST--
  2. sysvmsg functions on non-existing queue
  3. --EXTENSIONS--
  4. sysvmsg
  5. --FILE--
  6. <?php
  7. $tests = array(null, 'foo');
  8. foreach ($tests as $i => $q) {
  9. if ($q === null) {
  10. do {
  11. $id = ftok(__FILE__, chr(mt_rand(0, 255))); } while (msg_queue_exists($id));
  12. }
  13. $q = msg_get_queue($id) or die("Failed to create queue");
  14. msg_remove_queue($q) or die("Failed to close queue");
  15. echo "Iteration " . ($i + 1) . ":\n";
  16. $errno = 0;
  17. var_dump(msg_set_queue($q, array('msg_qbytes' => 1)));
  18. var_dump(msg_stat_queue($q));
  19. var_dump(msg_receive($q, 0, $null, 1, $msg, true, 0, $errno));
  20. var_dump($errno != 0);
  21. // again, but triggering an exception
  22. try {
  23. msg_receive($q, 0, $null, 0, $msg);
  24. } catch (ValueError $exception) {
  25. echo $exception->getMessage() . "\n";
  26. }
  27. var_dump(msg_send($q, 1, 'foo', true, true, $errno));
  28. var_dump($errno != 0);
  29. }
  30. echo "Done\n";
  31. ?>
  32. --EXPECTF--
  33. Iteration 1:
  34. bool(false)
  35. bool(false)
  36. bool(false)
  37. bool(true)
  38. msg_receive(): Argument #4 ($max_message_size) must be greater than 0
  39. Warning: msg_send(): msgsnd failed: Invalid argument in %s on line %d
  40. bool(false)
  41. bool(true)
  42. Iteration 2:
  43. bool(false)
  44. bool(false)
  45. bool(false)
  46. bool(true)
  47. msg_receive(): Argument #4 ($max_message_size) must be greater than 0
  48. Warning: msg_send(): msgsnd failed: Invalid argument in %s on line %d
  49. bool(false)
  50. bool(true)
  51. Done