Michael Stapelberg
359717970d
tests: don’t overwrite $timeout, kill timer when done
2011-10-04 23:36:43 +01:00
Michael Stapelberg
4e1d50fa3a
tests: Convert all testcases to use the new launch_with_config API
...
It now returns a pid directly, not a Proc::Background object.
2011-10-04 23:34:23 +01:00
Michael Stapelberg
8d9b4c3c04
tests: launch_with_config: use socket activation
2011-10-04 23:33:38 +01:00
Michael Stapelberg
bf33c8d7c9
tests: SocketActivation: append to the logfile, more comments
2011-10-04 23:31:33 +01:00
Michael Stapelberg
c8d42fbabe
tests: SocketActivation: only close() and dup2() if fileno(socket) != 3
2011-10-04 23:31:06 +01:00
Michael Stapelberg
6c7c4d52d0
tests: Refactor the socket activation into lib/SocketActivation.pm
2011-10-04 23:30:30 +01:00
Michael Stapelberg
a94ec5ee4e
tests: re-order dependencies in complete-run, make clear which are shipped with Perl
2011-10-04 20:10:11 +01:00
Michael Stapelberg
53121c746c
tests: remove unused dependency Proc::Background from complete-run
2011-10-04 20:05:12 +01:00
Michael Stapelberg
aa65b721b8
tests: eliminate dependency on the DateTime module by using POSIX::strftime
2011-10-04 20:03:08 +01:00
Michael Stapelberg
20d6ae4110
tests: make complete-run use POSIX::close(3) instead of reserving a file descriptor when starting
...
This makes it possible to run complete-run.pl with a "tainted" environment in
which fd 3 (and possibly others) are already present.
2011-10-04 19:58:17 +01:00
Michael Stapelberg
32ea923721
add a test for the 'move workspace next/prev' command
2011-10-02 22:18:21 +01:00
Michael Stapelberg
683bfa58d5
tests: Use AnyEvent::I3’s get_marks (requires AE::I3 >=0.08)
...
We also don’t bother with timeouts anymore. It’s expected to run the tests with
a sufficiently recent version of i3. The tests will just hang if it doesn’t
work.
2011-09-26 19:36:27 +01:00
Michael Stapelberg
1675499f15
docs/testsuite: a few corrections by fernandotcl
2011-09-25 14:23:47 +01:00
Michael Stapelberg
1eb011aae1
tests: make sure to leave no tempfiles behind
2011-09-24 16:28:21 +01:00
Michael Stapelberg
10a9d2a439
tests: Bugfix: 11-goto.t: use mktemp for generating a random mark, not base64
...
The base64 string could contain / and + which is treated specially since we
implemented PCRE support :)
2011-09-24 15:56:43 +01:00
Michael Stapelberg
761dac5514
tests: lib/i3test: Use //= instead of unless exists $args{key} (Thanks mxf)
2011-09-24 15:44:42 +01:00
Michael Stapelberg
378611c11c
tests: refactor t/58-wm_take_focus to use wait_for_event
2011-09-24 15:38:31 +01:00
Michael Stapelberg
de5286da59
tests: lib/i3test: Remove open_standard_window, introduce open_window
...
open_window has a better API than open_standard_window. It uses named
parameters and supplies default values for everything you don’t specify. This
way, you can use every feature which X11::XCB::Window supports.
2011-09-24 15:11:37 +01:00
Michael Stapelberg
c3eb9f6c45
tests: complete-run: remove debugging messages
2011-09-24 13:13:26 +01:00
Michael Stapelberg
1a438f12ed
tests: complete-run: display time i3 took for starting up
2011-09-24 13:13:09 +01:00
Michael Stapelberg
e244a75801
tests: complete_run: directly use X11::XCB instead of ::Connection
...
This saves about 0.5s wallclock time due to not starting up Moose/Mouse.
This is worthwhile when you develop a new feature and you are often invoking
complete_run for one specific test.
2011-09-24 13:09:20 +01:00
Michael Stapelberg
4da5b7e784
tests: use wait_for_{map,unmap} to eliminate more sleep()s
2011-09-24 13:08:02 +01:00
Michael Stapelberg
4821b13cae
tests: lib/i3test: provide wait_for_map and wait_for_unmap
...
These functions should be used instead of calling wait_for_event directly when
waiting for MAP_NOTIFY or UNMAP_NOTIFY
2011-09-24 13:07:05 +01:00
Michael Stapelberg
38a9eabff1
tests: implement sync_with_i3 and use it instead of sleep()
...
Also use open_standard_window() in a few more places where appropriate
2011-09-24 11:15:08 +01:00
Michael Stapelberg
3167e9ad2d
lib/i3test.pm: reformat exports list
2011-09-22 23:13:13 +01:00
Michael Stapelberg
83560c85d8
lib/i3test.pm: Don’t sleep(0.25), but wait until the window was mapped
...
This makes it faster and less racey
2011-09-22 23:13:12 +01:00
Michael Stapelberg
5542af316f
t/65-for_window: add tests for window_role
2011-09-18 16:05:54 +01:00
Michael Stapelberg
99168a84a9
tests: also make launch_with_config() log to LOGPATH
2011-09-18 15:35:04 +01:00
Michael Stapelberg
c8c95030ad
tests: extend t/35-floating-focus to use focus left/right on floating windows
2011-09-17 19:29:23 +01:00
Michael Stapelberg
7a38d8ac56
Merge branch 'master' into next
2011-09-17 14:13:05 +01:00
Michael Stapelberg
7a43af04af
Tests: fix floating size, add a test to check floating size when starting in tiling
2011-09-17 14:12:16 +01:00
Michael Stapelberg
717ae819c5
Merge branch 'master' into next
2011-09-11 22:52:44 +01:00
Michael Stapelberg
2a215fd7e2
Bugfix: Ignore for_window commands with empty (invalid) criteria (+test) (Thanks aksr)
2011-09-11 22:52:33 +01:00
Michael Stapelberg
d82698efa7
make the old assign syntax trigger an i3-nagbar warning (it’s deprecated), adjust test
2011-09-11 22:01:36 +01:00
Michael Stapelberg
b3e1fb1f3b
Make the old 'assign' case-insensitive again (+test) (Thanks aksr)
2011-09-11 21:16:45 +01:00
Michael Stapelberg
c1c1730516
pcre: enable UCP, UTF-8 (if available), extend t/19-match
2011-09-11 11:40:51 +01:00
Michael Stapelberg
8e04867e51
extend t/19-match to also test regular expressions
2011-09-10 23:52:39 +01:00
Michael Stapelberg
bf4d166330
extend t/17-workspace.t to check if the numbers are assigned correctly
2011-09-05 22:24:28 +02:00
Michael Stapelberg
f0a0236b7b
Merge branch 'master' into next
2011-08-28 17:02:19 +02:00
Michael Stapelberg
96b219f27b
migrate-config: use \s, be a bit more whitespace tolerant (+test) (Thanks sbedivere)
...
Fixes : #457
2011-08-28 17:01:59 +02:00
Michael Stapelberg
16188af8bf
Merge branch 'master' into next
2011-08-28 15:47:35 +02:00
Michael Stapelberg
0b0a2dad51
t/66-assign: check if i3 crashes when assigning a dock window to floating
2011-08-28 15:43:51 +02:00
Michael Stapelberg
8114ecda47
Merge branch 'master' into next
2011-08-27 13:47:57 +02:00
Michael Stapelberg
e97a7e34f7
Bugfix: Re-implement reconfiguring height of dock windows (+test) (Thanks thomasba)
2011-08-27 13:47:10 +02:00
Michael Stapelberg
6c42a179ec
Merge branch 'master' into next
2011-08-27 13:03:20 +02:00
Michael Stapelberg
4c01dbd726
Bugfix: Don’t always focus floating windows (fixes focus stealing with assignments) (+test) (Thanks aksr)
2011-08-27 13:02:44 +02:00
Michael Stapelberg
ff85023b08
Merge branch 'master' into next
2011-08-24 15:14:53 +02:00
Michael Stapelberg
0d35feb71b
Bugfix: Make the 'resize' command work inside tabbed/stacked cons (+test) (Thanks sbedivere)
...
Fixes #461
2011-08-24 15:14:04 +02:00
Michael Stapelberg
642a745004
Merge branch 'master' into next
2011-08-24 00:57:36 +02:00
Michael Stapelberg
b8a656bca7
Add test for the 'focus mode_toggle' issue ( #487 )
2011-08-24 00:57:25 +02:00
Michael Stapelberg
22e30061f3
Merge branch 'master' into next
2011-08-17 16:37:09 +02:00
Michael Stapelberg
f172359ba5
Bugfix: Don’t change focus when assigned windows start on invisible workspaces (+test) (Thanks ioflag)
...
Fixes #468
2011-08-17 16:36:19 +02:00
Michael Stapelberg
3af7692a92
Merge branch 'tests-optimize' into next
2011-08-10 15:57:28 +02:00
Michael Stapelberg
5524785877
testsuite: eliminate sleep, wait until i3 replies via IPC
2011-08-10 15:56:39 +02:00
Michael Stapelberg
f8d834c62d
Merge branch 'master' into next
2011-08-09 09:47:10 +02:00
Michael Stapelberg
98cc37e223
swap up/down, also modify the testcase
2011-08-09 09:46:02 +02:00
Michael Stapelberg
74687fa97c
tests: add t/74-border-config which checks new_window and new_float
2011-08-09 09:29:59 +02:00
Michael Stapelberg
dab3a0b85a
tests: add testcase for the GET_MARKS ipc request
2011-08-09 08:19:48 +02:00
Michael Stapelberg
51119c75c1
extend t/65-for_window to check for the 'instance' criterion
2011-08-04 20:11:01 +02:00
Michael Stapelberg
3ef7e3cee4
t/41-resize: also verify resize for floating windows
2011-08-03 14:48:33 +02:00
Michael Stapelberg
dcba8024de
also handle quoted workspace names, extend t/72 for that
2011-08-03 03:33:12 +02:00
Michael Stapelberg
72d2b2c9bd
add testcase to check if i3 starts on the first named workspace (ticket #449 )
2011-08-03 02:56:24 +02:00
Michael Stapelberg
003f7043c5
t/70-force-focus-wrapping: use launch_with_config
2011-08-03 02:12:29 +02:00
Michael Stapelberg
7956289c2b
t/67-workspace_layout: use launch_with_config
2011-08-03 02:04:52 +02:00
Michael Stapelberg
8734534b5c
t/66-assign: use launch_with_config
2011-08-03 02:03:26 +02:00
Michael Stapelberg
506d8797b2
tests: implement i3test::launch_with_config, use it in t/65-for_window
2011-08-03 00:03:13 +02:00
Michael Stapelberg
b57e8570c9
t/65-for_window: add a testcase for multiple criteria
2011-08-02 19:46:10 +02:00
Michael Stapelberg
56499d8374
tests: make t/65-for-window.t use separate i3 instances
2011-08-02 19:21:09 +02:00
Michael Stapelberg
3204caa98d
i3-migrate-config-to-v4: drop the .pl suffix
...
As lintian (a Debian package checker) mentions, it is more clever to install it
without the extension, since the implementation language might change.
2011-07-31 23:11:05 +02:00
Michael Stapelberg
eea804cd94
migrate-config: convert old 'with container' commands to 'focus parent; $command' (+test) (Thanks Marcus)
2011-07-27 14:36:22 +02:00
Michael Stapelberg
2b940296a8
tests: t/17-workspace.t: keep workspace 1 open
...
When not running i3 in a terminal from workspace 1, this would fail otherwise
2011-07-27 14:35:40 +02:00
Michael Stapelberg
26c1a463db
tests: keep an X11 connection open to every display, fixes races
...
Otherwise, i3 is the only client and thus the X server shuts down after i3
disconnects. Xdummy restarts an X server, but that takes some time and
therefore sometimes the next testcase was unable to connect.
2011-07-27 14:34:35 +02:00
Michael Stapelberg
44be907197
add Xdummy script to start a headless X11 server
2011-07-25 15:37:46 +02:00
Michael Stapelberg
4dde5bb863
testsuite: allow parallel runs. decreases the test time by 60% when using 4 displays
2011-07-25 15:37:13 +02:00
Michael Stapelberg
49ea805905
tests: get the socket path from the X11 atom I3_SOCKET_PATH
...
The hard-coded socket paths are not useful when running the test suite in
parallel.
2011-07-25 13:35:56 +02:00
Michael Stapelberg
34eb9b2664
ipc: make 'focused' a bool
2011-07-24 15:00:09 +02:00
Michael Stapelberg
b09bb0fc2a
ipc: make 'urgent' a bool
2011-07-24 14:54:30 +02:00
Michael Stapelberg
36fde6dbe1
ipc: send 'percent': null when percent is not relevant for the container
2011-07-24 14:47:28 +02:00
Michael Stapelberg
feaa161d2c
testcases: explicitly mark the (short) config files as v4
...
i3 won’t call i3-migrate-config and thus won’t add a call to i3bar this way.
It’s not necessary and can interfere with some tests sometimes.
2011-07-15 01:37:54 +02:00
Michael Stapelberg
e117a8a77f
migrate-config: mode foo → mode "foo" (+test) (Thanks cradle)
2011-07-15 00:22:26 +02:00
Michael Stapelberg
2d71102796
Bugfix: Switch to appropriate workspace when using 'focus' (+test) (Thanks rogutes)
...
Fixes #432
2011-07-14 23:45:36 +02:00
Michael Stapelberg
26d63fffc2
testcases: fix config-migrate test case after latest change
2011-07-14 23:07:10 +02:00
Michael Stapelberg
b63a559c28
migrate-config: also migrate border toggle (bt) (Thanks woddf2)
2011-07-09 01:02:13 +02:00
Michael Stapelberg
0fe564d122
tests: t/19-match needs a little delay
2011-07-09 01:01:52 +02:00
Michael Stapelberg
0add563448
Bugfix: multiple criteria should use a logical AND (+test) (Thanks f8l)
2011-07-08 00:21:29 +02:00
Michael Stapelberg
3e24b7170f
migrate-config: Bugfix: 'borderless' has to be 'none'
2011-07-06 20:21:39 +02:00
Michael Stapelberg
03aa95813e
migrate-config: also handle named workspaces correctly when their names come after the bindings (Thanks xpt)
2011-07-06 17:56:09 +02:00
Michael Stapelberg
95ee21dc3b
migrate-config: also leave client.background lines unchanged (Thanks cloud)
2011-07-06 17:51:32 +02:00
Michael Stapelberg
a2f297bd39
Add script to migrate a v3 config to v4 (tree). Please test this!
...
Run ./i3-migrate-config-to-v4.pl < ~/.i3/config > /tmp/i3.config
and see if /tmp/i3.config is fine (especially check the comments
starting with XXX, they are inserted by the script).
2011-07-06 13:56:58 +02:00
Michael Stapelberg
c408fef021
Implement 'focus floating', 'focus tiling' and 'focus mode_toggle' (+test +docs)
2011-07-04 17:09:52 +02:00
Michael Stapelberg
23d4917e43
Bugfix: Correctly revert floating focus when killing the last floating window (+test)
2011-07-01 01:10:43 +02:00
Michael Stapelberg
9611e46eb6
Bugfix: testcase was still using 'mode floating' instead of 'floating enable'
2011-07-01 00:37:30 +02:00
Michael Stapelberg
e5c811248f
Bugfix: Fix floating assignments, extend test for the assign command (Thanks Tucos)
2011-06-13 17:42:59 +02:00
Michael Stapelberg
d641e1da3b
Don’t force wrapping when focusing in a direction would work (+test)
...
Think of the following layout:
-------------
| tab | |
| con | win |
| | |
-------------
The tabbed container on the left has two children. Assume you have focused the
second/right child in the tabbed container. i3 used to focus the first/left
container of the tabbed container when using 'focus right' (it wrapped focus).
With this commit, the default behaviour is to instead focus the window on the
right of the screen.
The intention is to make focus switching more intuitive, especially with tabbed
containers supporting 'focus left'/'focus right' in tree. You should end up
using less 'focus parent' :).
You can force the old behaviour with 'force_focus_wrapping true' in your
config.
Code coverage is 62.5% with this commit.
2011-06-12 12:56:50 +02:00
Michael Stapelberg
bef25d72aa
Implement 'border toggle' (+test)
2011-06-10 16:15:52 +02:00
Michael Stapelberg
60ae26c19d
Implement 'workspace next/prev' (+test)
2011-06-10 16:03:59 +02:00
Michael Stapelberg
bd49c80d5f
CONFIG BREAK: rename 'mode floating/tiling' to 'floating enable/disable'
...
The three different variants now:
floating enable
floating disable
floating toggle
2011-06-10 02:06:47 +02:00
Michael Stapelberg
9bbb37bb55
BREAKS CONFIG: rename 'level up' to 'focus parent'
...
…and 'level down' to 'focus child'. More intuitive than the old command names.
2011-06-10 01:36:33 +02:00
Michael Stapelberg
9aa7e5fbd6
Parse multiple criteria in commands (+test), better error message for 'focus'
2011-06-08 23:34:08 +02:00
Michael Stapelberg
d68e4710fe
CONFIG BREAK: kick the 'next'/'prev' commands, introduce 'focus left' etc.
...
Instead of the cryptic next/prev commands, we now provide an argument to the
focus command. Userguide and default config is updated.
2011-06-08 20:49:49 +02:00