#!/bin/sh # Copyright 2008 by Denys Vlasenko <vda.linux@googlemail.com> # Licensed under GPLv2, see file LICENSE in this source tree. . ./testing.sh COLLAPSE=$(( 0x00010000)) TRIM=$(( 0x00020000)) GREEDY=$(( 0x00040000)) MIN_DIE=$(( 0x00100000)) KEEP_COPY=$((0x00200000)) ESCAPE=$(( 0x00400000)) NORMAL=$(( COLLAPSE | TRIM | GREEDY)) # testing "description" "command" "result" "infile" "stdin" testing "parse mdev.conf" \ "parse -n 4 -m 3 -f $((NORMAL)) -" \ "[sda][0:0][644][@echo @echo TEST]\n" \ "-" \ " sda 0:0 644 @echo @echo TEST # echo trap\n" testing "parse notrim" \ "parse -n 4 -m 3 -f $((NORMAL - TRIM - COLLAPSE)) -" \ "[][sda][0:0][644 @echo @echo TEST ]\n" \ "-" \ " sda 0:0 644 @echo @echo TEST \n" FILE=__parse cat >$FILE <<EOF # # Device Point System Options #_______________________________________________________________ /dev/hdb3 / ext2 defaults 1 0 /dev/hdb1 /dosc hpfs ro 1 0 /dev/fd0 /dosa vfat rw,user,noauto,nohide 0 0 /dev/fd1 /dosb vfat rw,user,noauto,nohide 0 0 # /dev/cdrom /cdrom iso9660 ro,user,noauto,nohide 0 0 /dev/hdb5 /redhat ext2 rw,root,noauto,nohide 0 0 #sssd /dev/hdb6 /win2home ntfs rw,root,noauto,nohide 0 0# ssdsd /dev/hdb7 /win2skul ntfs rw,root,noauto,nohide none 0 0 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 EOF cat >$FILE.res <<EOF [/dev/hdb3][/][ext2][defaults][1][0] [/dev/hdb1][/dosc][hpfs][ro][1][0] [/dev/fd0][/dosa][vfat][rw,user,noauto,nohide][0][0] [/dev/fd1][/dosb][vfat][rw,user,noauto,nohide][0][0] [/dev/cdrom][/cdrom][iso9660][ro,user,noauto,nohide][0][0] [/dev/hdb5][/redhat][ext2][rw,root,noauto,nohide][0][0] [/dev/hdb6][/win2home][ntfs][rw,root,noauto,nohide][0][0] [/dev/hdb7][/win2skul][ntfs][rw,root,noauto,nohide][none][0 0] [none][/dev/pts][devpts][gid=5,mode=620][0][0] [none][/proc][proc][defaults][0][0] EOF testing "parse polluted fstab" \ "parse -n 6 -m 6 $FILE" \ "`cat $FILE.res`\n" \ "" \ "" cp ../examples/inittab $FILE cat >$FILE.res <<EOF [][][sysinit][/etc/init.d/rcS] [][][askfirst][-/bin/sh] [tty2][][askfirst][-/bin/sh] [tty3][][askfirst][-/bin/sh] [tty4][][askfirst][-/bin/sh] [tty4][][respawn][/sbin/getty 38400 tty5] [tty5][][respawn][/sbin/getty 38400 tty6] [][][restart][/sbin/init] [][][ctrlaltdel][/sbin/reboot] [][][shutdown][/bin/umount -a -r] [][][shutdown][/sbin/swapoff -a] EOF testing "parse inittab from examples" \ "parse -n 4 -m 4 -f $((NORMAL - TRIM - COLLAPSE)) -d'#:' $FILE" \ "`cat $FILE.res`\n" \ "" \ "" cp ../examples/udhcp/udhcpd.conf $FILE cat >$FILE.res <<EOF [start][192.168.0.20] [end][192.168.0.254] [interface][eth0] [opt][dns][192.168.10.2][192.168.10.10] [option][subnet][255.255.255.0] [opt][router][192.168.10.2] [opt][wins][192.168.10.10] [option][dns][129.219.13.81] [option][domain][local] [option][lease][864000] [option][0x08][01020304] EOF testing "parse udhcpd.conf from examples" \ "parse -n 127 $FILE" \ "`cat $FILE.res`\n" \ "" \ "" rm -f $FILE $FILE.res exit $FAILCOUNT