2 # vim:ts=4:sw=4:expandtab
4 # Please read the following documents before working on tests:
5 # • https://build.i3wm.org/docs/testsuite.html
8 # • https://build.i3wm.org/docs/lib-i3test.html
9 # (alternatively: perldoc ./testcases/lib/i3test.pm)
11 # • https://build.i3wm.org/docs/ipc.html
14 # • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf
15 # (unless you are already familiar with Perl)
21 ################################################################################
22 # 1: test that shared memory logging does not work yet
23 ################################################################################
25 # NB: launch_with_config (called in i3test) sets --shmlog-size=0 because the
26 # logfile gets redirected via stdout redirection anyways.
30 run [ 'i3-dump-log' ],
34 like($stderr, qr#^i3-dump-log: ERROR: i3 is running, but SHM logging is not enabled\.#,
35 'shm logging not enabled');
37 ################################################################################
38 # 2: enable shared memory logging and verify new content shows up
39 ################################################################################
43 my $random_nop = mktemp('nop.XXXXXX');
44 cmd "nop $random_nop";
46 run [ 'i3-dump-log' ],
50 like($stdout, qr#$random_nop#, 'random nop found in shm log');
51 like($stderr, qr#^$#, 'stderr empty');
53 ################################################################################
54 # 3: change size of the shared memory log buffer and verify old content is gone
55 ################################################################################
57 cmd 'shmlog ' . (1 * 1024 * 1024);
59 run [ 'i3-dump-log' ],
63 unlike($stdout, qr#$random_nop#, 'random nop not found in shm log');
64 like($stderr, qr#^$#, 'stderr empty');
66 ################################################################################
67 # 4: disable logging and verify it no longer works
68 ################################################################################
72 run [ 'i3-dump-log' ],
76 like($stderr, qr#^i3-dump-log: ERROR: i3 is running, but SHM logging is not enabled\.#,
77 'shm logging not enabled');