tests: move does_i3_live to i3test::Test

next
Michael Stapelberg 2012-09-10 13:29:50 +02:00
parent 6bfbec9da3
commit 0626c637aa
2 changed files with 17 additions and 8 deletions

View File

@ -34,7 +34,6 @@ our @EXPORT = qw(
get_dock_clients
cmd
sync_with_i3
does_i3_live
exit_gracefully
workspace_exists
focused_ws
@ -459,13 +458,6 @@ sub sync_with_i3 {
};
}
sub does_i3_live {
my $tree = i3(get_socket_path())->get_tree->recv;
my @nodes = @{$tree->{nodes}};
my $ok = (@nodes > 0);
$tester->ok($ok, 'i3 still lives');
return $ok;
}
# Tries to exit i3 gracefully (with the 'exit' cmd) or kills the PID if that fails
sub exit_gracefully {

View File

@ -6,6 +6,7 @@ use base 'Test::Builder::Module';
our @EXPORT = qw(
is_num_children
cmp_float
does_i3_live
);
my $CLASS = __PACKAGE__;
@ -83,6 +84,22 @@ sub cmp_float {
$tb->cmp_ok(abs($a - $b), '<', 1e-6, $name);
}
=head2 does_i3_live
Returns true if the layout tree can still be received from i3.
# i3 used to crash on invalid commands in revision X
cmd 'invalid command';
does_i3_live;
=cut
sub does_i3_live {
my $tree = i3test::i3(i3test::get_socket_path())->get_tree->recv;
my @nodes = @{$tree->{nodes}};
my $tb = $CLASS->builder;
$tb->ok((@nodes > 0), 'i3 still lives');
}
=head1 AUTHOR
Michael Stapelberg <michael@i3wm.org>