From 3c4a80ca7e9500a57ebdac9bb0cf84ff8a363e12 Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Thu, 13 Aug 2015 11:00:12 +0200 Subject: [PATCH] Add a test for awful.util.spawn_with_line_callback Signed-off-by: Uli Schlachter --- tests/test-spawn.lua | 45 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tests/test-spawn.lua diff --git a/tests/test-spawn.lua b/tests/test-spawn.lua new file mode 100644 index 000000000..90ae535e3 --- /dev/null +++ b/tests/test-spawn.lua @@ -0,0 +1,45 @@ +--- Tests for spawn + +local util = require("awful.util") + +local spawns_done = 0 + +local steps = { + function(count) + if count == 1 then + local steps_yay = 0 + util.spawn_with_line_callback("echo yay", function(line) + assert(line == "yay", "line == '" .. tostring(line) .. "'") + assert(steps_yay == 0) + steps_yay = steps_yay + 1 + end, nil, function() + assert(steps_yay == 1) + steps_yay = steps_yay + 1 + spawns_done = spawns_done + 1 + end) + + local steps_count = 0 + local err_count = 0 + util.spawn_with_line_callback({ "sh", "-c", "printf line1\\\\nline2\\\\nline3 ; echo err >&2" }, + function(line) + assert(steps_count < 3) + steps_count = steps_count + 1 + assert(line == "line" .. steps_count, "line == '" .. tostring(line) .. "'") + end, function(line) + assert(err_count == 0) + err_count = err_count + 1 + assert(line == "err", "line == '" .. tostring(line) .. "'") + end, function() + assert(steps_count == 3) + assert(err_count == 1) + steps_count = steps_count + 1 + spawns_done = spawns_done + 1 + end) + end + if spawns_done == 2 then + return true + end + end, +} + +require("_runner").run_steps(steps)