summaryrefslogtreecommitdiffstats
path: root/test_spec.lua
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2015-03-31 23:23:40 -0300
committerHisham Muhammad <hisham@gobolinux.org>2015-03-31 23:23:40 -0300
commita7236559a702055d5d2d98f459de88188819c2fd (patch)
tree806375331cd935c7b3ce8d0f07ed9dc85a6fa6d3 /test_spec.lua
parent4c24a9b462e2e55e9d2f6d24694d5408c886c556 (diff)
81.1% test coverage!
Diffstat (limited to 'test_spec.lua')
-rwxr-xr-xtest_spec.lua73
1 files changed, 60 insertions, 13 deletions
diff --git a/test_spec.lua b/test_spec.lua
index 38f27b53..e57437d6 100755
--- a/test_spec.lua
+++ b/test_spec.lua
@@ -20,7 +20,7 @@ os.execute("killall htop")
os.execute("ps aux | grep '[s]leep 12345' | awk '{print $2}' | xargs kill 2> /dev/null")
os.execute("cp ./default.htoprc ./test.htoprc")
-rt:forkPty("HTOPRC=./test.htoprc ./htop")
+rt:forkPty("LC_ALL=C HTOPRC=./test.htoprc ./htop")
local stdscr, term_win
-- Curses initalization needed even when not in visual mode
@@ -68,7 +68,7 @@ end
local function send(key, times)
if times == 0 then return end
- for i = 1, times or 1 do
+ for _ = 1, times or 1 do
delay(0.003) -- 30ms delay to avoid clobbering Esc sequences
if type(key) == "string" then
for c in key:gmatch('.') do
@@ -138,8 +138,9 @@ local attrs = {
red_on_cyan = 22,
}
-local function find_selected_y()
- for y = y_panelhdr + 1, rt:rows() - 1 do
+local function find_selected_y(from)
+ rt:update()
+ for y = from or (y_panelhdr + 1), rt:rows() - 1 do
local attr = rt:cellAttr(y-1, 1)
if attr == attrs.black_on_cyan then
return y
@@ -161,7 +162,7 @@ describe("htop test suite", function()
running_it("performs incremental filter", function()
send("\\")
- send("busted")
+ send("x\127bux\127sted") -- test backspace
send("\n")
delay(0.2)
rt:update()
@@ -188,7 +189,6 @@ describe("htop test suite", function()
local attr = rt:cellAttr(rt:rows() - 1, 30)
send("\n")
delay(0.4)
- rt:update()
local line = find_selected_y()
local pid = (" "..tostring(unistd.getpid())):sub(-5)
assert.equal(attr, attrs.black_on_cyan)
@@ -224,7 +224,6 @@ describe("htop test suite", function()
send("\n")
send("s")
delay(1)
- delay(1)
send(ESC)
end)
@@ -235,15 +234,48 @@ describe("htop test suite", function()
send("\n")
send("l")
delay(1)
+ send(ESC)
+ end)
+
+ running_it("performs filtering in lsof", function()
+ send(curses.KEY_HOME)
+ send("/")
+ send("htop")
+ send("\n")
+ send("l")
+ send(curses.KEY_F4)
+ send("pipe")
delay(1)
+ local pipefd = check_string_at(1, 3, " 3")
send(ESC)
+ assert.equal(check(pipefd))
end)
- running_it("cycles through meter modes", function()
+ running_it("performs search in lsof", function()
+ send(curses.KEY_HOME)
+ send("/")
+ send("htop")
+ send("\n")
+ send("l")
+ send(curses.KEY_F3)
+ send("pipe")
+ delay(1)
+ local line = find_selected_y(3)
+ local pipefd = check_string_at(1, line, " 3")
+ send(ESC)
+ assert.equal(check(pipefd))
+ end)
+
+
+ running_it("cycles through meter modes in the default meters", function()
send("S")
- send(curses.KEY_RIGHT)
- send(curses.KEY_DOWN)
- send("\n\n\n\n\n")
+ for _ = 1, 2 do
+ send(curses.KEY_RIGHT)
+ for _ = 1, 3 do
+ send("\n", 4)
+ send(curses.KEY_DOWN)
+ end
+ end
send(ESC)
end)
@@ -366,6 +398,7 @@ describe("htop test suite", function()
send(curses.KEY_DOWN, 4)
send(curses.KEY_F7, 4)
end
+ send(curses.KEY_F4, 4) -- cycle through meter modes
delay(0.15)
rt:update()
local with = check_string_at(x_metercol2, 2, item.string)
@@ -382,7 +415,7 @@ describe("htop test suite", function()
send(curses.KEY_F2)
send(curses.KEY_DOWN, 2)
send(curses.KEY_RIGHT)
- for i = 1, 6 do
+ for _ = 1, 6 do
send("\n")
send(curses.KEY_DOWN)
end
@@ -420,8 +453,22 @@ describe("htop test suite", function()
end
end)
end
+
+ running_it("shows detailed CPU with guest time", function()
+ for _ = 1, 2 do
+ send("S")
+ send(curses.KEY_DOWN)
+ send(curses.KEY_RIGHT)
+ send(curses.KEY_DOWN, 9)
+ send("\n")
+ send(curses.KEY_DOWN, 3)
+ send("\n")
+ send(curses.KEY_F10)
+ delay(0.1)
+ end
+ end)
- for i = 1, 53 do
+ for i = 1, 62 do
running_it("show column "..i, function()
send("S")
send(curses.KEY_END)

© 2014-2024 Faster IT GmbH | imprint | privacy policy