specify posix.stdio: - before: stdio = require "posix.stdio" - describe fdopen: - before: fdopen = stdio.fdopen unistd = require "posix.unistd" STDOUT_FILENO = unistd.STDOUT_FILENO f = fdopen (STDOUT_FILENO, "w") - context with bad arguments: badargs.diagnose (fdopen, "(int,string)") - it duplicates a stream: expect (type (f)).to_be "userdata" - it writes to the duplicated stream: -- Lua 5.1 file.write returns true; > 5.1 returns file handle expect (f:write ("writing to fdopen(stdout)\n")).not_to_be (nil)