Commit Graph

306 Commits

Author SHA1 Message Date
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
Michael Stapelberg 30501e7c8a add testcase for the fullscreen restart problem of the previous commit 2011-06-03 02:05:34 +02:00