diff options
author | 2016-02-21 11:48:45 +0100 | |
---|---|---|
committer | 2016-02-21 11:48:45 +0100 | |
commit | cc24a339d8c0517259084b5c178d784626ba965c (patch) | |
tree | 9868e9687b5802ae0a3733712a3bbeb3bc75c953 /3rdparty/luv/tests/test-signal.lua | |
parent | b5daabda5495dea5c50e17961ecfed2ea8619d76 (diff) |
Merge remote-tracking branch 'refs/remotes/mamedev/master'
Second attempt
Diffstat (limited to '3rdparty/luv/tests/test-signal.lua')
-rw-r--r-- | 3rdparty/luv/tests/test-signal.lua | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/3rdparty/luv/tests/test-signal.lua b/3rdparty/luv/tests/test-signal.lua new file mode 100644 index 00000000000..c05db77c888 --- /dev/null +++ b/3rdparty/luv/tests/test-signal.lua @@ -0,0 +1,40 @@ +local child_code = string.dump(function () + local uv = require('luv') + local signal = uv.new_signal() + uv.ref(signal) + uv.signal_start(signal, "sigint", function () + uv.unref(signal) + end) + uv.run() + os.exit(7) +end) + +return require('lib/tap')(function (test) + + if _G.isWindows then return end + + test("Catch SIGINT", function (print, p, expect, uv) + local child, pid + local input = uv.new_pipe(false) + child, pid = assert(uv.spawn(uv.exepath(), { + args = {"-"}, + -- cwd = uv.cwd(), + stdio = {input,1,2} + }, expect(function (code, signal) + p("exit", {pid=pid,code=code,signal=signal}) + assert(code == 7) + assert(signal == 0) + uv.close(input) + uv.close(child) + end))) + uv.write(input, child_code) + uv.shutdown(input) + local timer = uv.new_timer() + uv.timer_start(timer, 200, 0, expect(function () + print("Sending child SIGINT") + uv.process_kill(child, "sigint") + uv.close(timer) + end)) + end) + +end) |