Blame specs/posix_sys_msg_spec.yaml

Packit 437b5e
specify posix.sys.msg:
Packit 437b5e
- before:
Packit 437b5e
    errno = require "posix.errno"
Packit 437b5e
    msg   = require "posix.sys.msg"
Packit 437b5e
    st    = require "posix.sys.stat"
Packit 437b5e
Packit 437b5e
    EEXIST = errno.EEXIST
Packit 437b5e
    msgget, msgsnd, msgrcv = msg.msgget, msg.msgsnd, msg.msgrcv
Packit 437b5e
    IPC_CREAT, IPC_EXCL = msg.IPC_CREAT, msg.IPC_EXCL
Packit 437b5e
    S_IRWXU, S_IRWXG, S_IRWXO = st.S_IRWXU, st.S_IRWXG, st.S_IRWXO
Packit 437b5e
Packit 437b5e
    mode = bor (S_IRWXU, S_IRWXG, S_IRWXO)
Packit 437b5e
    mq, err, errnum = msgget (100, bor (IPC_CREAT, IPC_EXCL, mode))
Packit 437b5e
    if errnum == EEXIST then
Packit 437b5e
      mq, err = msgget (100, mode)
Packit 437b5e
    end
Packit 437b5e
Packit 437b5e
    type = 42
Packit 437b5e
    data = "Answer to the Ultimate Question of Life"
Packit 437b5e
Packit 437b5e
Packit 437b5e
- describe msgget:
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      badargs.diagnose (msgget, "(int, ?int)")
Packit 437b5e
Packit 437b5e
  - it creates a queue:
Packit 437b5e
      expect (mq).not_to_be (nil)
Packit 437b5e
      expect (err).to_be (nil)
Packit 437b5e
Packit 437b5e
Packit 437b5e
- describe msgsnd:
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      badargs.diagnose (msgsnd, "(int, int, string, ?int)")
Packit 437b5e
Packit 437b5e
  - it sends a message:
Packit 437b5e
      ok, err = msgsnd (mq, type, data)
Packit 437b5e
      expect (ok).not_to_be (err)
Packit 437b5e
Packit 437b5e
Packit 437b5e
- describe msgrcv:
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      badargs.diagnose (msgrcv, "(int, int, ?int, ?int)")
Packit 437b5e
Packit 437b5e
  - it receives a message:
Packit 437b5e
      expect ({msgrcv (mq, 128)}).to_equal {type, data, nil}