From: Andy Spencer Date: Tue, 2 Apr 2013 20:48:30 +0000 (+0000) Subject: Add debug command and update test cases X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;ds=sidebyside;h=19f94e4bfe7f6898d89a79cf01f1824c876cfb38;p=~andy%2Frhawk Add debug command and update test cases --- diff --git a/irc.awk b/irc.awk index 7feb953..9b071c9 100644 --- a/irc.awk +++ b/irc.awk @@ -21,7 +21,8 @@ function send(msg) { print " > " msg > "/dev/stderr" print msg - system("sleep 1") + if (!DEBUG) + system("sleep 1") fflush() } @@ -101,13 +102,17 @@ function topic(chan, msg) { BEGIN { if (CHILD == "") { debug("Starting server"); - cmd = "awk -f rhawk -v CHILD=1 -v START=" systime(); + cmd = "awk -f rhawk" \ + " -v CHILD=1" \ + " -v START=" systime() \ + " -v DEBUG=" !!DEBUG status = system(cmd " -v FIRST=1"); while (status) status = system(cmd); exit(0); } else { debug("Starting child:" \ + " DEBUG=" DEBUG \ " CHILD=" CHILD \ " START=" START \ " FIRST=" FIRST); diff --git a/mkfile b/mkfile index 138af83..300ac9d 100644 --- a/mkfile +++ b/mkfile @@ -1,11 +1,15 @@ CFLAGS = -g -Wall -fPIC --std=c99 CPPFLAGS = -I/usr/include/awk -I. -DHAVE_CONFIG_H -test:Q: select.so - awk -f select.awk +test:Q: #awk -f rhawk < testirc.txt #awk -f rhawk < testirc.txt - #awk -f test.awk test.txt | awk -f rhawk #| grep 'points\|bid\|took' + awk -f test.awk test.txt \ + | awk '-vDEBUG=1' -frhawk \ + #| grep 'points\|bid\|took' + +test-select:Q: select.so + #awk -f select.awk %.so: %.o gcc $CFLAGS -shared -o $target $prereq $LDFLAGS diff --git a/test.awk b/test.awk index 8210626..7e208a0 100644 --- a/test.awk +++ b/test.awk @@ -28,6 +28,7 @@ function command(who, cmd) else if (cmd ~ /^s/) say(who, ".score") else if (cmd ~ /^B/) say(who, ".bids") else if (cmd ~ /^t/) say(who, ".tricks") + else if (cmd ~ /^T/) say(who, ".turn") else if (cmd ~ /^p/) say(who, ".pass " arg) else if (arg ~ /[shdc]$/) say(who, ".play " arg) else error("unknown cmd '" cmd "'") diff --git a/test.txt b/test.txt index 2b70101..45ea615 100644 --- a/test.txt +++ b/test.txt @@ -18,29 +18,35 @@ # l - look # bn - bid n # s - score +# B - bids +# t - tricks +# t - tricks +# T - turn +# pn - pass card n # card - play card # -card - play but don't add to deck # +card - add to deck but don't play # Test scoring -#x: s s s s s s s s s s s s -#x: B B B B B B B B B B B B -#x: t t t t t t t t t t t t -#A: n j . . . d b3 . . . As . -#b: . . j . . d . b3 . . Ah . -#c: . . . j . d . . b3 . Ad . -#d: . . . . j d . . . b3 Ac . +x: s s s s s s s s s s s s +x: B B B B B B B B B B B B +x: t t t t t t t t t t t t +x: T T T T T T T T T T T T +A: n j . . . d b3 . . . As . +b: . . j . . d . b3 . . Ah . +c: . . . j . d . . b3 . Ad . +d: . . . . j d . . . b3 Ac . # Nil/blind -a: n j d l b0 . . As Ks Qs Js 10s 9s 8s 7s 6s 5s 4s 3s 2s t e -b: . j d . b0 +Ah pAh -Ac Kh Qh Jh 10h 9h 8h 7h 6h 5h 4h 3h 2h s -c: . j d . b7 . . Ad Kd Qd Jd 10d 9d 8d 7d 6d 5d 4d 3d 2d . -d: . j d . b7 +Ac pAc -Ah Kc Qc Jc 10c 9c 8c 7c 6c 5c 4c 3c 2c . +#a: n j d l b0 . . As Ks Qs Js 10s 9s 8s 7s 6s 5s 4s 3s 2s t e +#b: . j d . b0 +Ah pAh -Ac Kh Qh Jh 10h 9h 8h 7h 6h 5h 4h 3h 2h s +#c: . j d . b7 . . Ad Kd Qd Jd 10d 9d 8d 7d 6d 5d 4d 3d 2d . +#d: . j d . b7 +Ac pAc -Ah Kc Qc Jc 10c 9c 8c 7c 6c 5c 4c 3c 2c . # Test full game -#a: n j d . b1 +Ah As Ks Qs Js 10s 9s 8s 7s 6s 5s 4s 3s 2s t -#b: . j d . b3 . Ah Kh Qh Jh 10h 9h 8h 7h 6h 5h 4h 3h 2h s -#c: . j d . b1 . Ad Kd Qd Jd 10d 9d 8d 7d 6d 5d 4d 3d 2d . -#d: . j d . b0 . Ac Kc Qc Jc 10c 9c 8c 7c 6c 5c 4c 3c 2c . +#a: n j d l b1 -Ah As Ks Qs Js 10s 9s 8s 7s 6s 5s 4s 3s 2s t +#b: . j d l b3 . Ah Kh Qh Jh 10h 9h 8h 7h 6h 5h 4h 3h 2h s +#c: . j d l b1 . Ad Kd Qd Jd 10d 9d 8d 7d 6d 5d 4d 3d 2d . +#d: . j d l b2 . Ac Kc Qc Jc 10c 9c 8c 7c 6c 5c 4c 3c 2c . # vim: ft=conf