Blame specs/posix_fcntl_spec.yaml

Packit 437b5e
specify posix.fcntl:
Packit 437b5e
- before:
Packit 437b5e
    fc = require "posix.fcntl"
Packit 437b5e
Packit 437b5e
Packit 437b5e
- describe open:
Packit 437b5e
  - before: |
Packit 437b5e
      unistd = require "posix.unistd"
Packit 437b5e
Packit 437b5e
      O_CREAT, O_RDONLY, O_WRONLY = fc.O_CREAT, fc.O_RDONLY, fc.O_WRONLY
Packit 437b5e
      open = fc.open
Packit 437b5e
      close, read, write = unistd.close, unistd.read, unistd.write
Packit 437b5e
Packit 437b5e
      dir = posix.mkdtemp (template)
Packit 437b5e
      fh = io.open (dir .. "/file", "w")
Packit 437b5e
      fh:write "garbage\n"
Packit 437b5e
      fh:close ()
Packit 437b5e
Packit 437b5e
  - after:
Packit 437b5e
      rmtmp (dir)
Packit 437b5e
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      badargs.diagnose (open, "(string, int, ?int)")
Packit 437b5e
Packit 437b5e
  - it opens an existing file:
Packit 437b5e
      fd, err = open (dir .. "/file", O_RDONLY)
Packit 437b5e
      expect (type (fd)).to_be "number"
Packit 437b5e
      expect (fd >= 0).to_be (true)
Packit 437b5e
      expect (read (fd, 10)).to_be "garbage\n"
Packit 437b5e
      close (fd)
Packit 437b5e
Packit 437b5e
  - it opens a new file:
Packit 437b5e
      buf = "more garbage\n"
Packit 437b5e
      fd, err = open (dir .. "/creat", bor (O_CREAT, O_WRONLY))
Packit 437b5e
      expect (type (fd)).to_be "number"
Packit 437b5e
      expect (fd >= 0).to_be (true)
Packit 437b5e
      expect (write (fd, buf)).to_be (#buf)
Packit 437b5e
      close (fd)
Packit 437b5e
Packit 437b5e
- describe posix_fadvise:
Packit 437b5e
  - before:
Packit 437b5e
      posix_fadvise = fc.posix_fadvise
Packit 437b5e
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      if posix_fadvise then
Packit 437b5e
        badargs.diagnose (posix_fadvise, "(int, int, int, int)")
Packit 437b5e
      end