debugging: implement a NOP command which just spits out its argument

You can use this in testcases to mark specific sections:
  $i3->command('nop before trying to crash')->recv;
leads to the following output in the i3 logfile:
  -------------------------------------------------
    NOP: before trying to crash
  -------------------------------------------------
This commit is contained in:
Michael Stapelberg 2010-11-20 18:40:25 +01:00
parent 576de246d8
commit 131a2f8765
2 changed files with 13 additions and 0 deletions

View File

@ -120,6 +120,7 @@ grow { return TOK_GROW; }
px { return TOK_PX; } px { return TOK_PX; }
or { return TOK_OR; } or { return TOK_OR; }
ppt { return TOK_PPT; } ppt { return TOK_PPT; }
nop { BEGIN(WANT_WS_STRING); return TOK_NOP; }
restore { BEGIN(WANT_WS_STRING); return TOK_RESTORE; } restore { BEGIN(WANT_WS_STRING); return TOK_RESTORE; }
mark { BEGIN(WANT_WS_STRING); return TOK_MARK; } mark { BEGIN(WANT_WS_STRING); return TOK_MARK; }

View File

@ -144,6 +144,7 @@ char *parse_cmd(const char *new) {
%token TOK_PX "px" %token TOK_PX "px"
%token TOK_OR "or" %token TOK_OR "or"
%token TOK_PPT "ppt" %token TOK_PPT "ppt"
%token TOK_NOP "nop"
%token TOK_CLASS "class" %token TOK_CLASS "class"
%token TOK_ID "id" %token TOK_ID "id"
@ -306,6 +307,7 @@ operation:
| level | level
| mark | mark
| resize | resize
| nop
; ;
exec: exec:
@ -609,6 +611,16 @@ mark:
} }
; ;
nop:
TOK_NOP WHITESPACE STR
{
printf("-------------------------------------------------\n");
printf(" NOP: %s\n", $<string>3);
printf("-------------------------------------------------\n");
free($<string>3);
}
;
resize: resize:
TOK_RESIZE WHITESPACE resize_way WHITESPACE direction resize_px resize_tiling TOK_RESIZE WHITESPACE resize_way WHITESPACE direction resize_px resize_tiling
{ {