summaryrefslogtreecommitdiffstats
path: root/tests/001
diff options
context:
space:
mode:
Diffstat (limited to 'tests/001')
-rw-r--r--tests/001/data87
-rw-r--r--tests/001/query-1.expected688
-rw-r--r--tests/001/query-1.txr7
-rw-r--r--tests/001/query-2.expected696
-rw-r--r--tests/001/query-2.txr7
-rw-r--r--tests/001/query-3.expected87
-rw-r--r--tests/001/query-3.txr21
7 files changed, 1593 insertions, 0 deletions
diff --git a/tests/001/data b/tests/001/data
new file mode 100644
index 00000000..fb74617d
--- /dev/null
+++ b/tests/001/data
@@ -0,0 +1,87 @@
+UID PID PPID C STIME TTY TIME CMD
+root 1 0 0 Aug21 ? 00:01:11 init [5]
+root 2 1 0 Aug21 ? 00:00:00 [ksoftirqd/0]
+root 3 1 0 Aug21 ? 00:01:23 [events/0]
+root 4 3 0 Aug21 ? 00:00:00 [khelper]
+root 5 3 0 Aug21 ? 00:00:00 [kacpid]
+root 16 3 0 Aug21 ? 00:00:00 [kblockd/0]
+root 29 3 0 Aug21 ? 00:00:00 [aio/0]
+root 17 1 0 Aug21 ? 00:00:00 [khubd]
+root 28 1 0 Aug21 ? 00:00:06 [kswapd0]
+root 103 1 0 Aug21 ? 00:00:00 [kseriod]
+root 175 1 0 Aug21 ? 00:00:00 [scsi_eh_0]
+root 186 1 0 Aug21 ? 00:04:49 [kjournald]
+root 870 1 0 Aug21 ? 00:00:00 udevd
+root 1068 1 0 Aug21 ? 00:00:00 /sbin/dhclient -1 -q -lf /var/lib/dhcp/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0
+root 1235 1 0 Aug21 ? 00:00:00 [kjournald]
+root 1236 1 0 Aug21 ? 00:00:09 [kjournald]
+root 1620 1 0 Aug21 ? 00:00:16 syslogd -m 0
+root 1624 1 0 Aug21 ? 00:00:00 klogd -x
+rpc 1645 1 0 Aug21 ? 00:00:08 portmap
+rpcuser 1665 1 0 Aug21 ? 00:00:00 rpc.statd
+root 1698 1 0 Aug21 ? 00:00:07 rpc.idmapd
+root 1766 1 0 Aug21 ? 00:05:17 /usr/sbin/vmware-guestd --background /var/run/vmware-guestd.pid
+root 1790 1 0 Aug21 ? 00:00:23 [rpciod]
+root 1791 1 0 Aug21 ? 00:00:00 [lockd]
+root 1821 1 0 Aug21 ? 00:00:00 ypbind
+root 1839 1 0 Aug21 ? 00:00:00 /usr/sbin/acpid
+root 1851 1 0 Aug21 ? 00:01:33 cupsd
+root 1887 1 0 Aug21 ? 00:00:00 /usr/sbin/sshd
+root 1902 1 0 Aug21 ? 00:00:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
+root 1921 1 0 Aug21 ? 00:00:00 rpc.rquotad
+root 1925 1 0 Aug21 ? 00:00:00 [nfsd]
+root 1926 1 0 Aug21 ? 00:00:00 [nfsd]
+root 1927 1 0 Aug21 ? 00:00:00 [nfsd]
+root 1928 1 0 Aug21 ? 00:00:00 [nfsd]
+root 1929 1 0 Aug21 ? 00:00:00 [nfsd]
+root 1930 1 0 Aug21 ? 00:00:00 [nfsd]
+root 1931 1 0 Aug21 ? 00:00:00 [nfsd]
+root 1932 1 0 Aug21 ? 00:00:00 [nfsd]
+root 1936 1 0 Aug21 ? 00:00:00 rpc.mountd
+root 1963 1 0 Aug21 ? 00:00:29 crond
+xfs 1989 1 0 Aug21 ? 00:00:01 xfs -droppriv -daemon
+daemon 2008 1 0 Aug21 ? 00:00:03 /usr/sbin/atd
+dbus 2027 1 0 Aug21 ? 00:00:00 dbus-daemon-1 --system
+root 2041 1 0 Aug21 ? 00:00:00 cups-config-daemon
+root 2052 1 0 Aug21 ? 00:05:00 hald
+root 2062 1 0 Aug21 tty1 00:00:00 /sbin/mingetty tty1
+root 2124 1 0 Aug21 ? 00:00:00 /usr/bin/gdm-binary -nodaemon
+root 2184 2124 0 Aug21 ? 00:00:00 /usr/bin/gdm-binary -nodaemon
+root 2354 2184 1 Aug21 ? 12:18:15 /usr/X11R6/bin/X :0 -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7
+kaz 2551 2184 0 Aug21 ? 00:00:01 /usr/bin/gnome-session
+kaz 2579 1 0 Aug21 ? 00:00:00 /usr/bin/ssh-agent -s
+kaz 2625 1 0 Aug21 ? 00:00:00 /usr/bin/dbus-launch --exit-with-session /etc/X11/xinit/Xclients
+kaz 2626 1 0 Aug21 ? 00:00:00 dbus-daemon-1 --fork --print-pid 8 --print-address 6 --session
+kaz 2631 1 0 Aug21 ? 00:00:47 /usr/libexec/gconfd-2 11
+kaz 2634 1 0 Aug21 ? 00:00:00 /usr/bin/gnome-keyring-daemon
+kaz 2636 1 0 Aug21 ? 00:00:00 /usr/libexec/bonobo-activation-server --ac-activate --ior-output-fd=18
+kaz 2638 1 0 Aug21 ? 00:00:00 /usr/libexec/gnome-settings-daemon --oaf-activate-iid=OAFIID:GNOME_SettingsDaemon --oaf-ior-fd=22
+kaz 2644 1 0 Aug21 ? 00:13:10 /usr/libexec/gam_server
+kaz 2661 1 0 Aug21 ? 00:01:18 xscreensaver -nosplash
+kaz 2685 1 0 Aug21 ? 00:00:00 /usr/bin/metacity --sm-client-id=default1
+kaz 2689 1 0 Aug21 ? 00:00:02 gnome-panel --sm-client-id default2
+kaz 2691 1 0 Aug21 ? 00:27:25 nautilus --no-default-window --sm-client-id default3
+kaz 2693 1 0 Aug21 ? 00:00:00 gnome-volume-manager --sm-client-id default6
+kaz 2695 1 0 Aug21 ? 00:00:37 eggcups --sm-client-id default5
+kaz 2698 1 0 Aug21 ? 00:00:00 /usr/libexec/gnome-vfs-daemon --oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_Factory --oaf-ior-fd=28
+kaz 2701 1 0 Aug21 ? 00:01:31 pam-panel-icon --sm-client-id default0
+kaz 2707 1 1 Aug21 ? 11:09:59 /usr/bin/python /usr/bin/rhn-applet-gui --sm-client-id default4
+root 2717 2701 0 Aug21 ? 00:02:30 /sbin/pam_timestamp_check -d root
+kaz 2718 1 0 Aug21 ? 00:00:05 /usr/libexec/mapping-daemon
+kaz 2720 1 0 Aug21 ? 00:00:00 /usr/libexec/wnck-applet --oaf-activate-iid=OAFIID:GNOME_Wncklet_Factory --oaf-ior-fd=30
+kaz 2722 1 0 Aug21 ? 00:14:36 /usr/libexec/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory --oaf-ior-fd=32
+kaz 2726 1 0 Aug21 ? 00:43:09 /usr/libexec/clock-applet --oaf-activate-iid=OAFIID:GNOME_ClockApplet_Factory --oaf-ior-fd=34
+kaz 2728 1 0 Aug21 ? 00:00:00 /usr/libexec/notification-area-applet --oaf-activate-iid=OAFIID:GNOME_NotificationAreaApplet_Factory --oaf-ior-fd=36
+root 30737 1 0 Aug26 ? 00:00:00 /sbin/dhclient -1 -q -lf /var/lib/dhcp/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0
+root 31905 1887 0 Aug27 ? 00:00:06 sshd: kaz [priv]
+kaz 31907 31905 0 Aug27 ? 00:00:55 sshd: kaz@pts/2
+kaz 31908 31907 0 Aug27 pts/2 00:00:01 -bash
+root 32672 1887 0 Aug27 ? 00:00:06 sshd: kaz [priv]
+kaz 32674 32672 0 Aug27 ? 00:02:11 sshd: kaz@pts/4
+kaz 32675 32674 0 Aug27 pts/4 00:00:06 -bash
+root 27121 3 0 Sep12 ? 00:00:00 [pdflush]
+root 27243 3 0 Sep12 ? 00:00:31 [pdflush]
+root 27682 1887 0 Sep12 ? 00:00:03 sshd: kaz [priv]
+kaz 27684 27682 0 Sep12 ? 00:09:06 sshd: kaz@pts/1
+kaz 27685 27684 0 Sep12 pts/1 00:00:26 -bash
+kaz 6481 27685 0 17:47 pts/1 00:00:00 ps -ef
diff --git a/tests/001/query-1.expected b/tests/001/query-1.expected
new file mode 100644
index 00000000..e55250c9
--- /dev/null
+++ b/tests/001/query-1.expected
@@ -0,0 +1,688 @@
+UID[0]="root"
+UID[1]="root"
+UID[2]="root"
+UID[3]="root"
+UID[4]="root"
+UID[5]="root"
+UID[6]="root"
+UID[7]="root"
+UID[8]="root"
+UID[9]="root"
+UID[10]="root"
+UID[11]="root"
+UID[12]="root"
+UID[13]="root"
+UID[14]="root"
+UID[15]="root"
+UID[16]="root"
+UID[17]="root"
+UID[18]="rpc"
+UID[19]="rpcuser"
+UID[20]="root"
+UID[21]="root"
+UID[22]="root"
+UID[23]="root"
+UID[24]="root"
+UID[25]="root"
+UID[26]="root"
+UID[27]="root"
+UID[28]="root"
+UID[29]="root"
+UID[30]="root"
+UID[31]="root"
+UID[32]="root"
+UID[33]="root"
+UID[34]="root"
+UID[35]="root"
+UID[36]="root"
+UID[37]="root"
+UID[38]="root"
+UID[39]="root"
+UID[40]="xfs"
+UID[41]="daemon"
+UID[42]="dbus"
+UID[43]="root"
+UID[44]="root"
+UID[45]="root"
+UID[46]="root"
+UID[47]="root"
+UID[48]="root"
+UID[49]="kaz"
+UID[50]="kaz"
+UID[51]="kaz"
+UID[52]="kaz"
+UID[53]="kaz"
+UID[54]="kaz"
+UID[55]="kaz"
+UID[56]="kaz"
+UID[57]="kaz"
+UID[58]="kaz"
+UID[59]="kaz"
+UID[60]="kaz"
+UID[61]="kaz"
+UID[62]="kaz"
+UID[63]="kaz"
+UID[64]="kaz"
+UID[65]="kaz"
+UID[66]="kaz"
+UID[67]="root"
+UID[68]="kaz"
+UID[69]="kaz"
+UID[70]="kaz"
+UID[71]="kaz"
+UID[72]="kaz"
+UID[73]="root"
+UID[74]="root"
+UID[75]="kaz"
+UID[76]="kaz"
+UID[77]="root"
+UID[78]="kaz"
+UID[79]="kaz"
+UID[80]="root"
+UID[81]="root"
+UID[82]="root"
+UID[83]="kaz"
+UID[84]="kaz"
+UID[85]="kaz"
+PID[0]="1"
+PID[1]="2"
+PID[2]="3"
+PID[3]="4"
+PID[4]="5"
+PID[5]="16"
+PID[6]="29"
+PID[7]="17"
+PID[8]="28"
+PID[9]="103"
+PID[10]="175"
+PID[11]="186"
+PID[12]="870"
+PID[13]="1068"
+PID[14]="1235"
+PID[15]="1236"
+PID[16]="1620"
+PID[17]="1624"
+PID[18]="1645"
+PID[19]="1665"
+PID[20]="1698"
+PID[21]="1766"
+PID[22]="1790"
+PID[23]="1791"
+PID[24]="1821"
+PID[25]="1839"
+PID[26]="1851"
+PID[27]="1887"
+PID[28]="1902"
+PID[29]="1921"
+PID[30]="1925"
+PID[31]="1926"
+PID[32]="1927"
+PID[33]="1928"
+PID[34]="1929"
+PID[35]="1930"
+PID[36]="1931"
+PID[37]="1932"
+PID[38]="1936"
+PID[39]="1963"
+PID[40]="1989"
+PID[41]="2008"
+PID[42]="2027"
+PID[43]="2041"
+PID[44]="2052"
+PID[45]="2062"
+PID[46]="2124"
+PID[47]="2184"
+PID[48]="2354"
+PID[49]="2551"
+PID[50]="2579"
+PID[51]="2625"
+PID[52]="2626"
+PID[53]="2631"
+PID[54]="2634"
+PID[55]="2636"
+PID[56]="2638"
+PID[57]="2644"
+PID[58]="2661"
+PID[59]="2685"
+PID[60]="2689"
+PID[61]="2691"
+PID[62]="2693"
+PID[63]="2695"
+PID[64]="2698"
+PID[65]="2701"
+PID[66]="2707"
+PID[67]="2717"
+PID[68]="2718"
+PID[69]="2720"
+PID[70]="2722"
+PID[71]="2726"
+PID[72]="2728"
+PID[73]="30737"
+PID[74]="31905"
+PID[75]="31907"
+PID[76]="31908"
+PID[77]="32672"
+PID[78]="32674"
+PID[79]="32675"
+PID[80]="27121"
+PID[81]="27243"
+PID[82]="27682"
+PID[83]="27684"
+PID[84]="27685"
+PID[85]="6481"
+PPID[0]="0"
+PPID[1]="1"
+PPID[2]="1"
+PPID[3]="3"
+PPID[4]="3"
+PPID[5]="3"
+PPID[6]="3"
+PPID[7]="1"
+PPID[8]="1"
+PPID[9]="1"
+PPID[10]="1"
+PPID[11]="1"
+PPID[12]="1"
+PPID[13]="1"
+PPID[14]="1"
+PPID[15]="1"
+PPID[16]="1"
+PPID[17]="1"
+PPID[18]="1"
+PPID[19]="1"
+PPID[20]="1"
+PPID[21]="1"
+PPID[22]="1"
+PPID[23]="1"
+PPID[24]="1"
+PPID[25]="1"
+PPID[26]="1"
+PPID[27]="1"
+PPID[28]="1"
+PPID[29]="1"
+PPID[30]="1"
+PPID[31]="1"
+PPID[32]="1"
+PPID[33]="1"
+PPID[34]="1"
+PPID[35]="1"
+PPID[36]="1"
+PPID[37]="1"
+PPID[38]="1"
+PPID[39]="1"
+PPID[40]="1"
+PPID[41]="1"
+PPID[42]="1"
+PPID[43]="1"
+PPID[44]="1"
+PPID[45]="1"
+PPID[46]="1"
+PPID[47]="2124"
+PPID[48]="2184"
+PPID[49]="2184"
+PPID[50]="1"
+PPID[51]="1"
+PPID[52]="1"
+PPID[53]="1"
+PPID[54]="1"
+PPID[55]="1"
+PPID[56]="1"
+PPID[57]="1"
+PPID[58]="1"
+PPID[59]="1"
+PPID[60]="1"
+PPID[61]="1"
+PPID[62]="1"
+PPID[63]="1"
+PPID[64]="1"
+PPID[65]="1"
+PPID[66]="1"
+PPID[67]="2701"
+PPID[68]="1"
+PPID[69]="1"
+PPID[70]="1"
+PPID[71]="1"
+PPID[72]="1"
+PPID[73]="1"
+PPID[74]="1887"
+PPID[75]="31905"
+PPID[76]="31907"
+PPID[77]="1887"
+PPID[78]="32672"
+PPID[79]="32674"
+PPID[80]="3"
+PPID[81]="3"
+PPID[82]="1887"
+PPID[83]="27682"
+PPID[84]="27684"
+PPID[85]="27685"
+C[0]="0"
+C[1]="0"
+C[2]="0"
+C[3]="0"
+C[4]="0"
+C[5]="0"
+C[6]="0"
+C[7]="0"
+C[8]="0"
+C[9]="0"
+C[10]="0"
+C[11]="0"
+C[12]="0"
+C[13]="0"
+C[14]="0"
+C[15]="0"
+C[16]="0"
+C[17]="0"
+C[18]="0"
+C[19]="0"
+C[20]="0"
+C[21]="0"
+C[22]="0"
+C[23]="0"
+C[24]="0"
+C[25]="0"
+C[26]="0"
+C[27]="0"
+C[28]="0"
+C[29]="0"
+C[30]="0"
+C[31]="0"
+C[32]="0"
+C[33]="0"
+C[34]="0"
+C[35]="0"
+C[36]="0"
+C[37]="0"
+C[38]="0"
+C[39]="0"
+C[40]="0"
+C[41]="0"
+C[42]="0"
+C[43]="0"
+C[44]="0"
+C[45]="0"
+C[46]="0"
+C[47]="0"
+C[48]="1"
+C[49]="0"
+C[50]="0"
+C[51]="0"
+C[52]="0"
+C[53]="0"
+C[54]="0"
+C[55]="0"
+C[56]="0"
+C[57]="0"
+C[58]="0"
+C[59]="0"
+C[60]="0"
+C[61]="0"
+C[62]="0"
+C[63]="0"
+C[64]="0"
+C[65]="0"
+C[66]="1"
+C[67]="0"
+C[68]="0"
+C[69]="0"
+C[70]="0"
+C[71]="0"
+C[72]="0"
+C[73]="0"
+C[74]="0"
+C[75]="0"
+C[76]="0"
+C[77]="0"
+C[78]="0"
+C[79]="0"
+C[80]="0"
+C[81]="0"
+C[82]="0"
+C[83]="0"
+C[84]="0"
+C[85]="0"
+STIME[0]="Aug21"
+STIME[1]="Aug21"
+STIME[2]="Aug21"
+STIME[3]="Aug21"
+STIME[4]="Aug21"
+STIME[5]="Aug21"
+STIME[6]="Aug21"
+STIME[7]="Aug21"
+STIME[8]="Aug21"
+STIME[9]="Aug21"
+STIME[10]="Aug21"
+STIME[11]="Aug21"
+STIME[12]="Aug21"
+STIME[13]="Aug21"
+STIME[14]="Aug21"
+STIME[15]="Aug21"
+STIME[16]="Aug21"
+STIME[17]="Aug21"
+STIME[18]="Aug21"
+STIME[19]="Aug21"
+STIME[20]="Aug21"
+STIME[21]="Aug21"
+STIME[22]="Aug21"
+STIME[23]="Aug21"
+STIME[24]="Aug21"
+STIME[25]="Aug21"
+STIME[26]="Aug21"
+STIME[27]="Aug21"
+STIME[28]="Aug21"
+STIME[29]="Aug21"
+STIME[30]="Aug21"
+STIME[31]="Aug21"
+STIME[32]="Aug21"
+STIME[33]="Aug21"
+STIME[34]="Aug21"
+STIME[35]="Aug21"
+STIME[36]="Aug21"
+STIME[37]="Aug21"
+STIME[38]="Aug21"
+STIME[39]="Aug21"
+STIME[40]="Aug21"
+STIME[41]="Aug21"
+STIME[42]="Aug21"
+STIME[43]="Aug21"
+STIME[44]="Aug21"
+STIME[45]="Aug21"
+STIME[46]="Aug21"
+STIME[47]="Aug21"
+STIME[48]="Aug21"
+STIME[49]="Aug21"
+STIME[50]="Aug21"
+STIME[51]="Aug21"
+STIME[52]="Aug21"
+STIME[53]="Aug21"
+STIME[54]="Aug21"
+STIME[55]="Aug21"
+STIME[56]="Aug21"
+STIME[57]="Aug21"
+STIME[58]="Aug21"
+STIME[59]="Aug21"
+STIME[60]="Aug21"
+STIME[61]="Aug21"
+STIME[62]="Aug21"
+STIME[63]="Aug21"
+STIME[64]="Aug21"
+STIME[65]="Aug21"
+STIME[66]="Aug21"
+STIME[67]="Aug21"
+STIME[68]="Aug21"
+STIME[69]="Aug21"
+STIME[70]="Aug21"
+STIME[71]="Aug21"
+STIME[72]="Aug21"
+STIME[73]="Aug26"
+STIME[74]="Aug27"
+STIME[75]="Aug27"
+STIME[76]="Aug27"
+STIME[77]="Aug27"
+STIME[78]="Aug27"
+STIME[79]="Aug27"
+STIME[80]="Sep12"
+STIME[81]="Sep12"
+STIME[82]="Sep12"
+STIME[83]="Sep12"
+STIME[84]="Sep12"
+STIME[85]="17:47"
+TTY[0]="?"
+TTY[1]="?"
+TTY[2]="?"
+TTY[3]="?"
+TTY[4]="?"
+TTY[5]="?"
+TTY[6]="?"
+TTY[7]="?"
+TTY[8]="?"
+TTY[9]="?"
+TTY[10]="?"
+TTY[11]="?"
+TTY[12]="?"
+TTY[13]="?"
+TTY[14]="?"
+TTY[15]="?"
+TTY[16]="?"
+TTY[17]="?"
+TTY[18]="?"
+TTY[19]="?"
+TTY[20]="?"
+TTY[21]="?"
+TTY[22]="?"
+TTY[23]="?"
+TTY[24]="?"
+TTY[25]="?"
+TTY[26]="?"
+TTY[27]="?"
+TTY[28]="?"
+TTY[29]="?"
+TTY[30]="?"
+TTY[31]="?"
+TTY[32]="?"
+TTY[33]="?"
+TTY[34]="?"
+TTY[35]="?"
+TTY[36]="?"
+TTY[37]="?"
+TTY[38]="?"
+TTY[39]="?"
+TTY[40]="?"
+TTY[41]="?"
+TTY[42]="?"
+TTY[43]="?"
+TTY[44]="?"
+TTY[45]="tty1"
+TTY[46]="?"
+TTY[47]="?"
+TTY[48]="?"
+TTY[49]="?"
+TTY[50]="?"
+TTY[51]="?"
+TTY[52]="?"
+TTY[53]="?"
+TTY[54]="?"
+TTY[55]="?"
+TTY[56]="?"
+TTY[57]="?"
+TTY[58]="?"
+TTY[59]="?"
+TTY[60]="?"
+TTY[61]="?"
+TTY[62]="?"
+TTY[63]="?"
+TTY[64]="?"
+TTY[65]="?"
+TTY[66]="?"
+TTY[67]="?"
+TTY[68]="?"
+TTY[69]="?"
+TTY[70]="?"
+TTY[71]="?"
+TTY[72]="?"
+TTY[73]="?"
+TTY[74]="?"
+TTY[75]="?"
+TTY[76]="pts/2"
+TTY[77]="?"
+TTY[78]="?"
+TTY[79]="pts/4"
+TTY[80]="?"
+TTY[81]="?"
+TTY[82]="?"
+TTY[83]="?"
+TTY[84]="pts/1"
+TTY[85]="pts/1"
+TIME[0]="00:01:11"
+TIME[1]="00:00:00"
+TIME[2]="00:01:23"
+TIME[3]="00:00:00"
+TIME[4]="00:00:00"
+TIME[5]="00:00:00"
+TIME[6]="00:00:00"
+TIME[7]="00:00:00"
+TIME[8]="00:00:06"
+TIME[9]="00:00:00"
+TIME[10]="00:00:00"
+TIME[11]="00:04:49"
+TIME[12]="00:00:00"
+TIME[13]="00:00:00"
+TIME[14]="00:00:00"
+TIME[15]="00:00:09"
+TIME[16]="00:00:16"
+TIME[17]="00:00:00"
+TIME[18]="00:00:08"
+TIME[19]="00:00:00"
+TIME[20]="00:00:07"
+TIME[21]="00:05:17"
+TIME[22]="00:00:23"
+TIME[23]="00:00:00"
+TIME[24]="00:00:00"
+TIME[25]="00:00:00"
+TIME[26]="00:01:33"
+TIME[27]="00:00:00"
+TIME[28]="00:00:00"
+TIME[29]="00:00:00"
+TIME[30]="00:00:00"
+TIME[31]="00:00:00"
+TIME[32]="00:00:00"
+TIME[33]="00:00:00"
+TIME[34]="00:00:00"
+TIME[35]="00:00:00"
+TIME[36]="00:00:00"
+TIME[37]="00:00:00"
+TIME[38]="00:00:00"
+TIME[39]="00:00:29"
+TIME[40]="00:00:01"
+TIME[41]="00:00:03"
+TIME[42]="00:00:00"
+TIME[43]="00:00:00"
+TIME[44]="00:05:00"
+TIME[45]="00:00:00"
+TIME[46]="00:00:00"
+TIME[47]="00:00:00"
+TIME[48]="12:18:15"
+TIME[49]="00:00:01"
+TIME[50]="00:00:00"
+TIME[51]="00:00:00"
+TIME[52]="00:00:00"
+TIME[53]="00:00:47"
+TIME[54]="00:00:00"
+TIME[55]="00:00:00"
+TIME[56]="00:00:00"
+TIME[57]="00:13:10"
+TIME[58]="00:01:18"
+TIME[59]="00:00:00"
+TIME[60]="00:00:02"
+TIME[61]="00:27:25"
+TIME[62]="00:00:00"
+TIME[63]="00:00:37"
+TIME[64]="00:00:00"
+TIME[65]="00:01:31"
+TIME[66]="11:09:59"
+TIME[67]="00:02:30"
+TIME[68]="00:00:05"
+TIME[69]="00:00:00"
+TIME[70]="00:14:36"
+TIME[71]="00:43:09"
+TIME[72]="00:00:00"
+TIME[73]="00:00:00"
+TIME[74]="00:00:06"
+TIME[75]="00:00:55"
+TIME[76]="00:00:01"
+TIME[77]="00:00:06"
+TIME[78]="00:02:11"
+TIME[79]="00:00:06"
+TIME[80]="00:00:00"
+TIME[81]="00:00:31"
+TIME[82]="00:00:03"
+TIME[83]="00:09:06"
+TIME[84]="00:00:26"
+TIME[85]="00:00:00"
+CMD[0]="init [5]"
+CMD[1]="[ksoftirqd/0]"
+CMD[2]="[events/0]"
+CMD[3]="[khelper]"
+CMD[4]="[kacpid]"
+CMD[5]="[kblockd/0]"
+CMD[6]="[aio/0]"
+CMD[7]="[khubd]"
+CMD[8]="[kswapd0]"
+CMD[9]="[kseriod]"
+CMD[10]="[scsi_eh_0]"
+CMD[11]="[kjournald]"
+CMD[12]="udevd"
+CMD[13]="/sbin/dhclient -1"
+CMD[14]="[kjournald]"
+CMD[15]="[kjournald]"
+CMD[16]="syslogd -m"
+CMD[17]="klogd -x"
+CMD[18]="portmap"
+CMD[19]="rpc.statd"
+CMD[20]="rpc.idmapd"
+CMD[21]="/usr/sbin/vmware-guestd --background"
+CMD[22]="[rpciod]"
+CMD[23]="[lockd]"
+CMD[24]="ypbind"
+CMD[25]="/usr/sbin/acpid"
+CMD[26]="cupsd"
+CMD[27]="/usr/sbin/sshd"
+CMD[28]="xinetd -stayalive"
+CMD[29]="rpc.rquotad"
+CMD[30]="[nfsd]"
+CMD[31]="[nfsd]"
+CMD[32]="[nfsd]"
+CMD[33]="[nfsd]"
+CMD[34]="[nfsd]"
+CMD[35]="[nfsd]"
+CMD[36]="[nfsd]"
+CMD[37]="[nfsd]"
+CMD[38]="rpc.mountd"
+CMD[39]="crond"
+CMD[40]="xfs -droppriv"
+CMD[41]="/usr/sbin/atd"
+CMD[42]="dbus-daemon-1 --system"
+CMD[43]="cups-config-daemon"
+CMD[44]="hald"
+CMD[45]="/sbin/mingetty tty1"
+CMD[46]="/usr/bin/gdm-binary -nodaemon"
+CMD[47]="/usr/bin/gdm-binary -nodaemon"
+CMD[48]="/usr/X11R6/bin/X :0"
+CMD[49]="/usr/bin/gnome-session"
+CMD[50]="/usr/bin/ssh-agent -s"
+CMD[51]="/usr/bin/dbus-launch --exit-with-session"
+CMD[52]="dbus-daemon-1 --fork"
+CMD[53]="/usr/libexec/gconfd-2 11"
+CMD[54]="/usr/bin/gnome-keyring-daemon"
+CMD[55]="/usr/libexec/bonobo-activation-server --ac-activate"
+CMD[56]="/usr/libexec/gnome-settings-daemon --oaf-activate-iid=OAFIID:GNOME_SettingsDaemon"
+CMD[57]="/usr/libexec/gam_server"
+CMD[58]="xscreensaver -nosplash"
+CMD[59]="/usr/bin/metacity --sm-client-id=default1"
+CMD[60]="gnome-panel --sm-client-id"
+CMD[61]="nautilus --no-default-window"
+CMD[62]="gnome-volume-manager --sm-client-id"
+CMD[63]="eggcups --sm-client-id"
+CMD[64]="/usr/libexec/gnome-vfs-daemon --oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_Factory"
+CMD[65]="pam-panel-icon --sm-client-id"
+CMD[66]="/usr/bin/python /usr/bin/rhn-applet-gui"
+CMD[67]="/sbin/pam_timestamp_check -d"
+CMD[68]="/usr/libexec/mapping-daemon"
+CMD[69]="/usr/libexec/wnck-applet --oaf-activate-iid=OAFIID:GNOME_Wncklet_Factory"
+CMD[70]="/usr/libexec/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory"
+CMD[71]="/usr/libexec/clock-applet --oaf-activate-iid=OAFIID:GNOME_ClockApplet_Factory"
+CMD[72]="/usr/libexec/notification-area-applet --oaf-activate-iid=OAFIID:GNOME_NotificationAreaApplet_Factory"
+CMD[73]="/sbin/dhclient -1"
+CMD[74]="sshd: kaz"
+CMD[75]="sshd: kaz@pts/2"
+CMD[76]="-bash"
+CMD[77]="sshd: kaz"
+CMD[78]="sshd: kaz@pts/4"
+CMD[79]="-bash"
+CMD[80]="[pdflush]"
+CMD[81]="[pdflush]"
+CMD[82]="sshd: kaz"
+CMD[83]="sshd: kaz@pts/1"
+CMD[84]="-bash"
+CMD[85]="ps -ef"
diff --git a/tests/001/query-1.txr b/tests/001/query-1.txr
new file mode 100644
index 00000000..8b37b62d
--- /dev/null
+++ b/tests/001/query-1.txr
@@ -0,0 +1,7 @@
+@#
+@# This file is in the public domain.
+@# It was authored by Kaz Kylheku <kkylheku@gmail.com> in 2009
+@#
+@(collect)
+@UID@/ +/@{PID /[0-9]+/}@/ +/@PPID@/ +/@C@/ +/@STIME@/ +/@TTY@/ +/@TIME @{CMD /[^ ]+( +[^ ]+)?/}@/.*/
+@(end)
diff --git a/tests/001/query-2.expected b/tests/001/query-2.expected
new file mode 100644
index 00000000..90f363ce
--- /dev/null
+++ b/tests/001/query-2.expected
@@ -0,0 +1,696 @@
+UID[0]="UID"
+UID[1]="root"
+UID[2]="root"
+UID[3]="root"
+UID[4]="root"
+UID[5]="root"
+UID[6]="root"
+UID[7]="root"
+UID[8]="root"
+UID[9]="root"
+UID[10]="root"
+UID[11]="root"
+UID[12]="root"
+UID[13]="root"
+UID[14]="root"
+UID[15]="root"
+UID[16]="root"
+UID[17]="root"
+UID[18]="root"
+UID[19]="rpc"
+UID[20]="rpcuser"
+UID[21]="root"
+UID[22]="root"
+UID[23]="root"
+UID[24]="root"
+UID[25]="root"
+UID[26]="root"
+UID[27]="root"
+UID[28]="root"
+UID[29]="root"
+UID[30]="root"
+UID[31]="root"
+UID[32]="root"
+UID[33]="root"
+UID[34]="root"
+UID[35]="root"
+UID[36]="root"
+UID[37]="root"
+UID[38]="root"
+UID[39]="root"
+UID[40]="root"
+UID[41]="xfs"
+UID[42]="daemon"
+UID[43]="dbus"
+UID[44]="root"
+UID[45]="root"
+UID[46]="root"
+UID[47]="root"
+UID[48]="root"
+UID[49]="root"
+UID[50]="kaz"
+UID[51]="kaz"
+UID[52]="kaz"
+UID[53]="kaz"
+UID[54]="kaz"
+UID[55]="kaz"
+UID[56]="kaz"
+UID[57]="kaz"
+UID[58]="kaz"
+UID[59]="kaz"
+UID[60]="kaz"
+UID[61]="kaz"
+UID[62]="kaz"
+UID[63]="kaz"
+UID[64]="kaz"
+UID[65]="kaz"
+UID[66]="kaz"
+UID[67]="kaz"
+UID[68]="root"
+UID[69]="kaz"
+UID[70]="kaz"
+UID[71]="kaz"
+UID[72]="kaz"
+UID[73]="kaz"
+UID[74]="root"
+UID[75]="root"
+UID[76]="kaz"
+UID[77]="kaz"
+UID[78]="root"
+UID[79]="kaz"
+UID[80]="kaz"
+UID[81]="root"
+UID[82]="root"
+UID[83]="root"
+UID[84]="kaz"
+UID[85]="kaz"
+UID[86]="kaz"
+PID[0]="PID"
+PID[1]="1"
+PID[2]="2"
+PID[3]="3"
+PID[4]="4"
+PID[5]="5"
+PID[6]="16"
+PID[7]="29"
+PID[8]="17"
+PID[9]="28"
+PID[10]="103"
+PID[11]="175"
+PID[12]="186"
+PID[13]="870"
+PID[14]="1068"
+PID[15]="1235"
+PID[16]="1236"
+PID[17]="1620"
+PID[18]="1624"
+PID[19]="1645"
+PID[20]="1665"
+PID[21]="1698"
+PID[22]="1766"
+PID[23]="1790"
+PID[24]="1791"
+PID[25]="1821"
+PID[26]="1839"
+PID[27]="1851"
+PID[28]="1887"
+PID[29]="1902"
+PID[30]="1921"
+PID[31]="1925"
+PID[32]="1926"
+PID[33]="1927"
+PID[34]="1928"
+PID[35]="1929"
+PID[36]="1930"
+PID[37]="1931"
+PID[38]="1932"
+PID[39]="1936"
+PID[40]="1963"
+PID[41]="1989"
+PID[42]="2008"
+PID[43]="2027"
+PID[44]="2041"
+PID[45]="2052"
+PID[46]="2062"
+PID[47]="2124"
+PID[48]="2184"
+PID[49]="2354"
+PID[50]="2551"
+PID[51]="2579"
+PID[52]="2625"
+PID[53]="2626"
+PID[54]="2631"
+PID[55]="2634"
+PID[56]="2636"
+PID[57]="2638"
+PID[58]="2644"
+PID[59]="2661"
+PID[60]="2685"
+PID[61]="2689"
+PID[62]="2691"
+PID[63]="2693"
+PID[64]="2695"
+PID[65]="2698"
+PID[66]="2701"
+PID[67]="2707"
+PID[68]="2717"
+PID[69]="2718"
+PID[70]="2720"
+PID[71]="2722"
+PID[72]="2726"
+PID[73]="2728"
+PID[74]="30737"
+PID[75]="31905"
+PID[76]="31907"
+PID[77]="31908"
+PID[78]="32672"
+PID[79]="32674"
+PID[80]="32675"
+PID[81]="27121"
+PID[82]="27243"
+PID[83]="27682"
+PID[84]="27684"
+PID[85]="27685"
+PID[86]="6481"
+PPID[0]="PPID"
+PPID[1]="0"
+PPID[2]="1"
+PPID[3]="1"
+PPID[4]="3"
+PPID[5]="3"
+PPID[6]="3"
+PPID[7]="3"
+PPID[8]="1"
+PPID[9]="1"
+PPID[10]="1"
+PPID[11]="1"
+PPID[12]="1"
+PPID[13]="1"
+PPID[14]="1"
+PPID[15]="1"
+PPID[16]="1"
+PPID[17]="1"
+PPID[18]="1"
+PPID[19]="1"
+PPID[20]="1"
+PPID[21]="1"
+PPID[22]="1"
+PPID[23]="1"
+PPID[24]="1"
+PPID[25]="1"
+PPID[26]="1"
+PPID[27]="1"
+PPID[28]="1"
+PPID[29]="1"
+PPID[30]="1"
+PPID[31]="1"
+PPID[32]="1"
+PPID[33]="1"
+PPID[34]="1"
+PPID[35]="1"
+PPID[36]="1"
+PPID[37]="1"
+PPID[38]="1"
+PPID[39]="1"
+PPID[40]="1"
+PPID[41]="1"
+PPID[42]="1"
+PPID[43]="1"
+PPID[44]="1"
+PPID[45]="1"
+PPID[46]="1"
+PPID[47]="1"
+PPID[48]="2124"
+PPID[49]="2184"
+PPID[50]="2184"
+PPID[51]="1"
+PPID[52]="1"
+PPID[53]="1"
+PPID[54]="1"
+PPID[55]="1"
+PPID[56]="1"
+PPID[57]="1"
+PPID[58]="1"
+PPID[59]="1"
+PPID[60]="1"
+PPID[61]="1"
+PPID[62]="1"
+PPID[63]="1"
+PPID[64]="1"
+PPID[65]="1"
+PPID[66]="1"
+PPID[67]="1"
+PPID[68]="2701"
+PPID[69]="1"
+PPID[70]="1"
+PPID[71]="1"
+PPID[72]="1"
+PPID[73]="1"
+PPID[74]="1"
+PPID[75]="1887"
+PPID[76]="31905"
+PPID[77]="31907"
+PPID[78]="1887"
+PPID[79]="32672"
+PPID[80]="32674"
+PPID[81]="3"
+PPID[82]="3"
+PPID[83]="1887"
+PPID[84]="27682"
+PPID[85]="27684"
+PPID[86]="27685"
+C[0]="C"
+C[1]="0"
+C[2]="0"
+C[3]="0"
+C[4]="0"
+C[5]="0"
+C[6]="0"
+C[7]="0"
+C[8]="0"
+C[9]="0"
+C[10]="0"
+C[11]="0"
+C[12]="0"
+C[13]="0"
+C[14]="0"
+C[15]="0"
+C[16]="0"
+C[17]="0"
+C[18]="0"
+C[19]="0"
+C[20]="0"
+C[21]="0"
+C[22]="0"
+C[23]="0"
+C[24]="0"
+C[25]="0"
+C[26]="0"
+C[27]="0"
+C[28]="0"
+C[29]="0"
+C[30]="0"
+C[31]="0"
+C[32]="0"
+C[33]="0"
+C[34]="0"
+C[35]="0"
+C[36]="0"
+C[37]="0"
+C[38]="0"
+C[39]="0"
+C[40]="0"
+C[41]="0"
+C[42]="0"
+C[43]="0"
+C[44]="0"
+C[45]="0"
+C[46]="0"
+C[47]="0"
+C[48]="0"
+C[49]="1"
+C[50]="0"
+C[51]="0"
+C[52]="0"
+C[53]="0"
+C[54]="0"
+C[55]="0"
+C[56]="0"
+C[57]="0"
+C[58]="0"
+C[59]="0"
+C[60]="0"
+C[61]="0"
+C[62]="0"
+C[63]="0"
+C[64]="0"
+C[65]="0"
+C[66]="0"
+C[67]="1"
+C[68]="0"
+C[69]="0"
+C[70]="0"
+C[71]="0"
+C[72]="0"
+C[73]="0"
+C[74]="0"
+C[75]="0"
+C[76]="0"
+C[77]="0"
+C[78]="0"
+C[79]="0"
+C[80]="0"
+C[81]="0"
+C[82]="0"
+C[83]="0"
+C[84]="0"
+C[85]="0"
+C[86]="0"
+STIME[0]="STIME"
+STIME[1]="Aug21"
+STIME[2]="Aug21"
+STIME[3]="Aug21"
+STIME[4]="Aug21"
+STIME[5]="Aug21"
+STIME[6]="Aug21"
+STIME[7]="Aug21"
+STIME[8]="Aug21"
+STIME[9]="Aug21"
+STIME[10]="Aug21"
+STIME[11]="Aug21"
+STIME[12]="Aug21"
+STIME[13]="Aug21"
+STIME[14]="Aug21"
+STIME[15]="Aug21"
+STIME[16]="Aug21"
+STIME[17]="Aug21"
+STIME[18]="Aug21"
+STIME[19]="Aug21"
+STIME[20]="Aug21"
+STIME[21]="Aug21"
+STIME[22]="Aug21"
+STIME[23]="Aug21"
+STIME[24]="Aug21"
+STIME[25]="Aug21"
+STIME[26]="Aug21"
+STIME[27]="Aug21"
+STIME[28]="Aug21"
+STIME[29]="Aug21"
+STIME[30]="Aug21"
+STIME[31]="Aug21"
+STIME[32]="Aug21"
+STIME[33]="Aug21"
+STIME[34]="Aug21"
+STIME[35]="Aug21"
+STIME[36]="Aug21"
+STIME[37]="Aug21"
+STIME[38]="Aug21"
+STIME[39]="Aug21"
+STIME[40]="Aug21"
+STIME[41]="Aug21"
+STIME[42]="Aug21"
+STIME[43]="Aug21"
+STIME[44]="Aug21"
+STIME[45]="Aug21"
+STIME[46]="Aug21"
+STIME[47]="Aug21"
+STIME[48]="Aug21"
+STIME[49]="Aug21"
+STIME[50]="Aug21"
+STIME[51]="Aug21"
+STIME[52]="Aug21"
+STIME[53]="Aug21"
+STIME[54]="Aug21"
+STIME[55]="Aug21"
+STIME[56]="Aug21"
+STIME[57]="Aug21"
+STIME[58]="Aug21"
+STIME[59]="Aug21"
+STIME[60]="Aug21"
+STIME[61]="Aug21"
+STIME[62]="Aug21"
+STIME[63]="Aug21"
+STIME[64]="Aug21"
+STIME[65]="Aug21"
+STIME[66]="Aug21"
+STIME[67]="Aug21"
+STIME[68]="Aug21"
+STIME[69]="Aug21"
+STIME[70]="Aug21"
+STIME[71]="Aug21"
+STIME[72]="Aug21"
+STIME[73]="Aug21"
+STIME[74]="Aug26"
+STIME[75]="Aug27"
+STIME[76]="Aug27"
+STIME[77]="Aug27"
+STIME[78]="Aug27"
+STIME[79]="Aug27"
+STIME[80]="Aug27"
+STIME[81]="Sep12"
+STIME[82]="Sep12"
+STIME[83]="Sep12"
+STIME[84]="Sep12"
+STIME[85]="Sep12"
+STIME[86]="17:47"
+TTY[0]="TTY"
+TTY[1]="?"
+TTY[2]="?"
+TTY[3]="?"
+TTY[4]="?"
+TTY[5]="?"
+TTY[6]="?"
+TTY[7]="?"
+TTY[8]="?"
+TTY[9]="?"
+TTY[10]="?"
+TTY[11]="?"
+TTY[12]="?"
+TTY[13]="?"
+TTY[14]="?"
+TTY[15]="?"
+TTY[16]="?"
+TTY[17]="?"
+TTY[18]="?"
+TTY[19]="?"
+TTY[20]="?"
+TTY[21]="?"
+TTY[22]="?"
+TTY[23]="?"
+TTY[24]="?"
+TTY[25]="?"
+TTY[26]="?"
+TTY[27]="?"
+TTY[28]="?"
+TTY[29]="?"
+TTY[30]="?"
+TTY[31]="?"
+TTY[32]="?"
+TTY[33]="?"
+TTY[34]="?"
+TTY[35]="?"
+TTY[36]="?"
+TTY[37]="?"
+TTY[38]="?"
+TTY[39]="?"
+TTY[40]="?"
+TTY[41]="?"
+TTY[42]="?"
+TTY[43]="?"
+TTY[44]="?"
+TTY[45]="?"
+TTY[46]="tty1"
+TTY[47]="?"
+TTY[48]="?"
+TTY[49]="?"
+TTY[50]="?"
+TTY[51]="?"
+TTY[52]="?"
+TTY[53]="?"
+TTY[54]="?"
+TTY[55]="?"
+TTY[56]="?"
+TTY[57]="?"
+TTY[58]="?"
+TTY[59]="?"
+TTY[60]="?"
+TTY[61]="?"
+TTY[62]="?"
+TTY[63]="?"
+TTY[64]="?"
+TTY[65]="?"
+TTY[66]="?"
+TTY[67]="?"
+TTY[68]="?"
+TTY[69]="?"
+TTY[70]="?"
+TTY[71]="?"
+TTY[72]="?"
+TTY[73]="?"
+TTY[74]="?"
+TTY[75]="?"
+TTY[76]="?"
+TTY[77]="pts/2"
+TTY[78]="?"
+TTY[79]="?"
+TTY[80]="pts/4"
+TTY[81]="?"
+TTY[82]="?"
+TTY[83]="?"
+TTY[84]="?"
+TTY[85]="pts/1"
+TTY[86]="pts/1"
+TIME[0]="TIME"
+TIME[1]="00:01:11"
+TIME[2]="00:00:00"
+TIME[3]="00:01:23"
+TIME[4]="00:00:00"
+TIME[5]="00:00:00"
+TIME[6]="00:00:00"
+TIME[7]="00:00:00"
+TIME[8]="00:00:00"
+TIME[9]="00:00:06"
+TIME[10]="00:00:00"
+TIME[11]="00:00:00"
+TIME[12]="00:04:49"
+TIME[13]="00:00:00"
+TIME[14]="00:00:00"
+TIME[15]="00:00:00"
+TIME[16]="00:00:09"
+TIME[17]="00:00:16"
+TIME[18]="00:00:00"
+TIME[19]="00:00:08"
+TIME[20]="00:00:00"
+TIME[21]="00:00:07"
+TIME[22]="00:05:17"
+TIME[23]="00:00:23"
+TIME[24]="00:00:00"
+TIME[25]="00:00:00"
+TIME[26]="00:00:00"
+TIME[27]="00:01:33"
+TIME[28]="00:00:00"
+TIME[29]="00:00:00"
+TIME[30]="00:00:00"
+TIME[31]="00:00:00"
+TIME[32]="00:00:00"
+TIME[33]="00:00:00"
+TIME[34]="00:00:00"
+TIME[35]="00:00:00"
+TIME[36]="00:00:00"
+TIME[37]="00:00:00"
+TIME[38]="00:00:00"
+TIME[39]="00:00:00"
+TIME[40]="00:00:29"
+TIME[41]="00:00:01"
+TIME[42]="00:00:03"
+TIME[43]="00:00:00"
+TIME[44]="00:00:00"
+TIME[45]="00:05:00"
+TIME[46]="00:00:00"
+TIME[47]="00:00:00"
+TIME[48]="00:00:00"
+TIME[49]="12:18:15"
+TIME[50]="00:00:01"
+TIME[51]="00:00:00"
+TIME[52]="00:00:00"
+TIME[53]="00:00:00"
+TIME[54]="00:00:47"
+TIME[55]="00:00:00"
+TIME[56]="00:00:00"
+TIME[57]="00:00:00"
+TIME[58]="00:13:10"
+TIME[59]="00:01:18"
+TIME[60]="00:00:00"
+TIME[61]="00:00:02"
+TIME[62]="00:27:25"
+TIME[63]="00:00:00"
+TIME[64]="00:00:37"
+TIME[65]="00:00:00"
+TIME[66]="00:01:31"
+TIME[67]="11:09:59"
+TIME[68]="00:02:30"
+TIME[69]="00:00:05"
+TIME[70]="00:00:00"
+TIME[71]="00:14:36"
+TIME[72]="00:43:09"
+TIME[73]="00:00:00"
+TIME[74]="00:00:00"
+TIME[75]="00:00:06"
+TIME[76]="00:00:55"
+TIME[77]="00:00:01"
+TIME[78]="00:00:06"
+TIME[79]="00:02:11"
+TIME[80]="00:00:06"
+TIME[81]="00:00:00"
+TIME[82]="00:00:31"
+TIME[83]="00:00:03"
+TIME[84]="00:09:06"
+TIME[85]="00:00:26"
+TIME[86]="00:00:00"
+CMD[0]="CMD"
+CMD[1]="init [5] "
+CMD[2]="[ksoftirqd/0]"
+CMD[3]="[events/0]"
+CMD[4]="[khelper]"
+CMD[5]="[kacpid]"
+CMD[6]="[kblockd/0]"
+CMD[7]="[aio/0]"
+CMD[8]="[khubd]"
+CMD[9]="[kswapd0]"
+CMD[10]="[kseriod]"
+CMD[11]="[scsi_eh_0]"
+CMD[12]="[kjournald]"
+CMD[13]="udevd"
+CMD[14]="/sbin/dhclient -1 -q -lf /var/lib/dhcp/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0"
+CMD[15]="[kjournald]"
+CMD[16]="[kjournald]"
+CMD[17]="syslogd -m 0"
+CMD[18]="klogd -x"
+CMD[19]="portmap"
+CMD[20]="rpc.statd"
+CMD[21]="rpc.idmapd"
+CMD[22]="/usr/sbin/vmware-guestd --background /var/run/vmware-guestd.pid"
+CMD[23]="[rpciod]"
+CMD[24]="[lockd]"
+CMD[25]="ypbind"
+CMD[26]="/usr/sbin/acpid"
+CMD[27]="cupsd"
+CMD[28]="/usr/sbin/sshd"
+CMD[29]="xinetd -stayalive -pidfile /var/run/xinetd.pid"
+CMD[30]="rpc.rquotad"
+CMD[31]="[nfsd]"
+CMD[32]="[nfsd]"
+CMD[33]="[nfsd]"
+CMD[34]="[nfsd]"
+CMD[35]="[nfsd]"
+CMD[36]="[nfsd]"
+CMD[37]="[nfsd]"
+CMD[38]="[nfsd]"
+CMD[39]="rpc.mountd"
+CMD[40]="crond"
+CMD[41]="xfs -droppriv -daemon"
+CMD[42]="/usr/sbin/atd"
+CMD[43]="dbus-daemon-1 --system"
+CMD[44]="cups-config-daemon"
+CMD[45]="hald"
+CMD[46]="/sbin/mingetty tty1"
+CMD[47]="/usr/bin/gdm-binary -nodaemon"
+CMD[48]="/usr/bin/gdm-binary -nodaemon"
+CMD[49]="/usr/X11R6/bin/X :0 -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7"
+CMD[50]="/usr/bin/gnome-session"
+CMD[51]="/usr/bin/ssh-agent -s"
+CMD[52]="/usr/bin/dbus-launch --exit-with-session /etc/X11/xinit/Xclients"
+CMD[53]="dbus-daemon-1 --fork --print-pid 8 --print-address 6 --session"
+CMD[54]="/usr/libexec/gconfd-2 11"
+CMD[55]="/usr/bin/gnome-keyring-daemon"
+CMD[56]="/usr/libexec/bonobo-activation-server --ac-activate --ior-output-fd=18"
+CMD[57]="/usr/libexec/gnome-settings-daemon --oaf-activate-iid=OAFIID:GNOME_SettingsDaemon --oaf-ior-fd=22"
+CMD[58]="/usr/libexec/gam_server"
+CMD[59]="xscreensaver -nosplash"
+CMD[60]="/usr/bin/metacity --sm-client-id=default1"
+CMD[61]="gnome-panel --sm-client-id default2"
+CMD[62]="nautilus --no-default-window --sm-client-id default3"
+CMD[63]="gnome-volume-manager --sm-client-id default6"
+CMD[64]="eggcups --sm-client-id default5"
+CMD[65]="/usr/libexec/gnome-vfs-daemon --oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_Factory --oaf-ior-fd=28"
+CMD[66]="pam-panel-icon --sm-client-id default0"
+CMD[67]="/usr/bin/python /usr/bin/rhn-applet-gui --sm-client-id default4"
+CMD[68]="/sbin/pam_timestamp_check -d root"
+CMD[69]="/usr/libexec/mapping-daemon"
+CMD[70]="/usr/libexec/wnck-applet --oaf-activate-iid=OAFIID:GNOME_Wncklet_Factory --oaf-ior-fd=30"
+CMD[71]="/usr/libexec/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory --oaf-ior-fd=32"
+CMD[72]="/usr/libexec/clock-applet --oaf-activate-iid=OAFIID:GNOME_ClockApplet_Factory --oaf-ior-fd=34"
+CMD[73]="/usr/libexec/notification-area-applet --oaf-activate-iid=OAFIID:GNOME_NotificationAreaApplet_Factory --oaf-ior-fd=36"
+CMD[74]="/sbin/dhclient -1 -q -lf /var/lib/dhcp/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0"
+CMD[75]="sshd: kaz [priv] "
+CMD[76]="sshd: kaz@pts/2 "
+CMD[77]="-bash"
+CMD[78]="sshd: kaz [priv] "
+CMD[79]="sshd: kaz@pts/4 "
+CMD[80]="-bash"
+CMD[81]="[pdflush]"
+CMD[82]="[pdflush]"
+CMD[83]="sshd: kaz [priv] "
+CMD[84]="sshd: kaz@pts/1 "
+CMD[85]="-bash"
+CMD[86]="ps -ef"
diff --git a/tests/001/query-2.txr b/tests/001/query-2.txr
new file mode 100644
index 00000000..c040ca9f
--- /dev/null
+++ b/tests/001/query-2.txr
@@ -0,0 +1,7 @@
+@#
+@# This file is in the public domain.
+@# It was authored by Kaz Kylheku <kkylheku@gmail.com> in 2009
+@#
+@(collect)
+@{UID 8} @{PID 5} @{PPID 5} @{C 1} @{STIME 5} @{TTY 8} @{TIME 8} @CMD
+@(end)
diff --git a/tests/001/query-3.expected b/tests/001/query-3.expected
new file mode 100644
index 00000000..4acab394
--- /dev/null
+++ b/tests/001/query-3.expected
@@ -0,0 +1,87 @@
+UID PID
+root 1
+root 2
+root 3
+root 4
+root 5
+root 16
+root 29
+root 17
+root 28
+root 103
+root 175
+root 186
+root 870
+root 1068
+root 1235
+root 1236
+root 1620
+root 1624
+rpc 1645
+rpcuser 1665
+root 1698
+root 1766
+root 1790
+root 1791
+root 1821
+root 1839
+root 1851
+root 1887
+root 1902
+root 1921
+root 1925
+root 1926
+root 1927
+root 1928
+root 1929
+root 1930
+root 1931
+root 1932
+root 1936
+root 1963
+xfs 1989
+daemon 2008
+dbus 2027
+root 2041
+root 2052
+root 2062
+root 2124
+root 2184
+root 2354
+kaz 2551
+kaz 2579
+kaz 2625
+kaz 2626
+kaz 2631
+kaz 2634
+kaz 2636
+kaz 2638
+kaz 2644
+kaz 2661
+kaz 2685
+kaz 2689
+kaz 2691
+kaz 2693
+kaz 2695
+kaz 2698
+kaz 2701
+kaz 2707
+root 2717
+kaz 2718
+kaz 2720
+kaz 2722
+kaz 2726
+kaz 2728
+root 30737
+root 31905
+kaz 31907
+kaz 31908
+root 32672
+kaz 32674
+kaz 32675
+root 27121
+root 27243
+root 27682
+kaz 27684
+kaz 27685
+kaz 6481
diff --git a/tests/001/query-3.txr b/tests/001/query-3.txr
new file mode 100644
index 00000000..ec12c9f2
--- /dev/null
+++ b/tests/001/query-3.txr
@@ -0,0 +1,21 @@
+@#
+@# This file is in the public domain.
+@# It was authored by Kaz Kylheku <kkylheku@gmail.com> in 2009
+@#
+@/.*/@# skip header
+@(collect)
+@ (coll)@{TOKEN /[^ ]+/}@(end)
+@ (bind (UID PID PPID C STIME TTY TIME . CMD) TOKEN)
+@ (cat CMD) @#
+@ (forget TOKEN)
+@(end)
+@(output)
+@(repeat)
+@{UID 8} @{PID -5}
+@(first)
+UID PID
+@{UID 8} @{PID -5}
+@(empty)
+No processes!
+@(end)
+@(end)