Michael Stapelberg
2bff4f1dba
Synchronize with i3bar+i3, not just i3.
2017-09-30 13:04:20 +02:00
Michael Stapelberg
ce21de8dde
Implement the tick event
...
This makes our tests less flaky, shorter, and more readable.
fixes #2988
2017-09-30 11:41:57 +02:00
Michael Stapelberg
14c8cf8622
tests: implement xtest_sync_with_i3
...
The regular sync_with_i3 is not sufficient because i3test::XTEST uses a separate
X11 connection.
2017-09-30 11:28:20 +02:00
Michael Stapelberg
54d61b510d
Merge pull request #2953 from CyberShadow/focus_wrapping
...
Add "focus_wrapping" option
2017-09-27 09:31:39 -07:00
Pietro Cerutti
999bebc692
WIFEXITED needs sys/wait.h ( #2989 )
2017-09-25 09:11:15 -07:00
Michael Stapelberg
7ad32fd2d1
tests: replace http:// with https:// where appropriate
...
This was done automatically using:
% sed -i 's,http://build.i3wm.org,https://build.i3wm.org,g ' testcases/t/*.t
2017-09-24 10:19:50 +02:00
Michael Stapelberg
d968d39b27
Replace http:// with https:// where applicable
...
The testcases will be updated automatically in a separate commit.
2017-09-24 10:19:07 +02:00
Orestis Floros
76214b04e8
Raise floating window to top when it gets focus
...
Applied for:
1. '[...] focus' for a floating container raises it to the top.
2. Focusing a window through a focus event raises it to the top.
Fixes #2572
2017-09-23 02:41:58 +03:00
Vladimir Panteleev
28f7e14650
Add "focus_wrapping" option
...
Fixes #2352 .
2017-09-22 23:40:41 +00:00
Ingo Bürk
dd13cae5c0
Merge pull request #2959 from orestisf1993/issue-2764
...
Allow assign to output
2017-09-22 16:24:26 +02:00
Vladimir Panteleev
760b2e1b4a
Do not canonicalize special output names
...
canonicalize_output_name allowed the "primary" special output name to
be canonicalized, thus converting it to the name of whatever output
was the primary output at the time. This caused settings
(specifically, i3bar output and tray_output settings) to be stored as
specific output names, instead of the intended special names whose
referred output may change as the system's configuration (i.e. current
primary output) changes.
Add a check to canonicalize_output_name to return the name as-is if it
is the special name "primary".
2017-09-19 14:57:08 +00:00
Orestis
a3a7d04a43
291-swap.t: make tests fail less ( #2964 )
2017-09-18 18:02:38 +02:00
Michael Stapelberg
d1296cd1cf
Bugfix: don’t invalidate layout upon invalid 'layout toggle' params ( #2965 )
...
fixes #2903
2017-09-18 16:36:57 +02:00
Orestis Floros
a35854ddf4
Allow assign to output
...
Implements the "assign" part of issue #2764 .
2017-09-17 15:37:17 +03:00
Orestis Floros
716a5b3660
166-assign.t: improve open_special call
2017-09-17 15:37:17 +03:00
Orestis Floros
1c975a1b8c
166-assign.t: fix typo
2017-09-17 15:37:17 +03:00
Orestis Floros
fa5d8a0209
Make swap work with fullscreen windows
...
Swap works like normal with fullscreen windows but swaps the fullscreen
mode of the 2 containers after it's done.
Fixes #2811
2017-09-16 13:49:20 +03:00
Ingo Bürk
8cad1c1fa6
Merge pull request #2887 from orestisf1993/next
...
Allow assign to workspace by number
2017-09-15 21:26:35 +02:00
Michael Stapelberg
6b8e3560ef
Merge pull request #2950 from CyberShadow/pull-20170914-153533
...
Fix erratic behavior with single container child jumping outputs
2017-09-15 11:31:33 +02:00
Vladimir Panteleev
480f688b44
Fix erratic behavior with single container child jumping outputs
...
This fixes a regression introduced in commit
4e88c10564ca5366c2578908f62ec56625a26718: when attempting to move the
single child of a container in the direction of another output, i3
would move the window to the output, despite the window not being at
the edge of its output, instead of moving it to its parent container.
The bug occurred because the check for moving containers across
outputs with non-default workspace layouts (issue #1603 ) did not
actually verify that the moved window lies at the edge of the
workspace, despite what its comment said.
Fixes issue #2466 .
2017-09-15 09:27:32 +00:00
Orestis
00912add46
Use numeric comparison in sort for $displaynum ( #2952 )
...
Eg in the case of sockets:
- X0
- X99
- X100
X99 would be picked instead of X100.
2017-09-15 11:21:35 +02:00
Orestis Floros
eaf7a49e28
Allow assign to workspace by number
...
Makes "assign [<criteria>] workspace number <number>" work in the same
manner as "move to workspace number <number>" instead of assigning the
window to a workspace named "number <number>".
config.spec is modified to expect a 'number' string and an extra
argument is used in cfg_assign.
For workspaces that don't exist yet, workspace_get is used as a
fallback. This also allows the user to assign to "<number> <workspace>"
eg "2: work" and the full name will be used if workspace number 2
doesn't exist yet.
Fixes #2590 .
2017-09-15 03:38:13 +03:00
Orestis
6411130c85
Add -name argument for Xephyr ( #2937 )
...
This way you can assign the test windows to an empty workspace to avoid
interacting with them (when xvfb-run is not an option):
assign [instance="i3test"] workspace testing
2017-09-14 22:10:16 +02:00
Michael Stapelberg
24462f98ae
tests: unflake tests by not starting i3bar
2017-09-14 21:46:20 +02:00
Michael Stapelberg
363417e010
tests: remove the (broken) exit_gracefully check
...
I previously tried to fix the check, but could only come up with a fix which
required removing our module pre-loading, which makes the tests considerably
more expensive. Instead, let’s just remove the check.
2017-09-14 21:46:20 +02:00
Michael Stapelberg
02786155dc
tests: use i3_config arg instead of precisely one launch_with_config
...
This way, tests are shorter, and i3test’s invocation of launch_with_config
parallelizes work better, using dont_block => 1.
2017-09-14 21:46:20 +02:00
Michael Stapelberg
53e7f18710
i3test::XTEST: don’t “use i3test” to avoid clobbering state
...
Before this commit, the $i3_autostart variable was accidentally overridden.
2017-09-14 21:45:48 +02:00
Michael Stapelberg
3a31a76b2a
Reorder tests to not use the same number ( #2947 )
...
Distinct numbers make re-running individual tests easier by helping with
tab-completion.
Completeness verified using:
% for i in $(seq 0 600)
do
files=$(ls testcases/t/$(printf "%03d" $i)-*.t 2>&- | wc -l)
[ "$files" != "0" ] && [ "$files" != "1" ] && echo "clash: $i"
done
2017-09-14 17:49:02 +02:00
Michael Stapelberg
a5aed10d09
tests: unflake t/257-keypress-group1-fallback.t ( #2946 )
...
fixes #2944
2017-09-14 17:48:37 +02:00
Michael Stapelberg
b23e1f644f
Bugfix: free incomplete containers when JSON parsing fails
...
related to #2755
2017-09-13 16:39:13 +02:00
Orestis Floros
7b0f4abf4f
scalloc parse_config input to make sure it terminates with '\0'
...
Otherwise strchr() can crash for files that don't end with '\n' because
it won't find a null char to terminate at.
Fixes #2934
2017-09-13 15:31:53 +03:00
Orestis Floros
fd7319683d
Don't insert newline at end of config with launch_with_config
2017-09-13 15:30:37 +03:00
Vladimir Panteleev
9be4199e13
533-randr15.t: Add test for bar output name canonicalization
2017-09-13 08:23:27 +00:00
Vladimir Panteleev
fbeded23a9
533-randr15.t: Stop hard-coding the output name
...
Refactor away all mentions of DP3.
2017-09-13 08:23:27 +00:00
Vladimir Panteleev
8a0e5f89f9
533-randr15.t: Add a fake output connected to the fake monitor
...
Add an output ID to the simulated RRGetMonitors reply, then add a
simulated RRGetOutputInfo reply describing the added output.
2017-09-13 08:23:27 +00:00
Vladimir Panteleev
c6e3fbcf19
testcases/lib: Add inject_randr15_outputinfo argument
...
Allow tests to specify a file name for inject_randr15's
--getoutputinfo_reply command-line parameter.
2017-09-13 08:23:26 +00:00
Vladimir Panteleev
de1b578f75
inject_randr1.5: Intercept X11 error responses in addition to replies
...
Allow clients to send garbage to the server, then intercept the
server's error response and substitute it with the supplied simulated
reply data.
2017-09-13 08:23:26 +00:00
Vladimir Panteleev
f88f4fb5d4
inject_randr1.5: Add RRGetOutputInfo reply injection
...
Add a --getoutputinfo_reply switch to indicate a filename containing
the RRGetOutputInfo reply data to inject.
2017-09-13 08:23:26 +00:00
Vladimir Panteleev
dfc5ad9850
inject_randr1.5: Refactor reading and storing reply buffer to a struct
...
Allows easier introduction of additional reply buffers in upcoming
changes.
2017-09-13 08:23:26 +00:00
Michael Stapelberg
1c94d189c3
tests: run 533-randr15.t at the very end
...
The test runs `xrandr setmonitor`, which will otherwise affect any test
scheduled after 533-randr15.t, causing flakyness in t/217-NET_CURRENT_DESKTOP.t
for example.
2017-09-10 21:03:14 +02:00
Michael Stapelberg
06e8f75d52
tests: unflake t/263-edge-borders.t
2017-09-10 21:03:14 +02:00
Michael Stapelberg
bed5c9e03a
tests: re-seed random number generator in workers
2017-09-10 21:03:13 +02:00
Michael Stapelberg
1b18f89422
Merge pull request #2923 from stapelberg/tests-split
...
Testsuite: avoid starting new i3 instances where possible
2017-09-10 13:41:46 +02:00
Michael Stapelberg
f7565b5f32
Kill windows between tests
2017-09-10 11:31:10 +02:00
Michael Stapelberg
94c76d9e30
i3test: add kill_all_windows convenience function
2017-09-10 11:30:56 +02:00
Michael Stapelberg
6caf4e1cb5
testcases/Makefile.PL: tell MakeMaker this is a pure-Perl distribution ( #2922 )
...
fixes #2914
2017-09-10 11:25:43 +02:00
Michael Stapelberg
899ffd872f
529-net-wm-desktop: avoid timeout, avoid restarts, split
...
This shaves off almost half a second of the wall-clock time (from 5.9s to 5.6s).
2017-09-09 18:39:56 +02:00
Michael Stapelberg
ffd0ebd85c
165-for_window: merge config and re-use i3 instance, split remainder
...
This reduces total test wall-clock time by 1.5s (from 7.5s down to 5.9s).
2017-09-09 18:21:59 +02:00
Michael Stapelberg
c86307864f
t/265-swap: don’t start new i3 instances with the same config
...
$config is never touched after being initially set up.
Not restarting i3 between each test case reduces the runtime of this test by an
order of magnitude.
2017-09-09 17:50:23 +02:00
Orestis Floros
e5008ca0dc
Improve 267-regress-mark-restart.t
...
Another window with a mark is needed for issue #2900 .
2017-09-07 04:20:52 +03:00