]> rtime.felk.cvut.cz Git - novaboot.git/blob - tests/parser.wv
4825d776b2725d9ca665bee61d321840cda31ba8
[novaboot.git] / tests / parser.wv
1 #!/bin/bash
2
3 cd $(dirname $0)
4 . wvtest.sh
5
6 WVSTART Simple script
7 WVPASS create_dummy
8 WVPASS bash -c "./script --dump > dump"
9 WVPASS diff -u - dump <<EOF
10 kernel
11 file
12 EOF
13
14 WVSTART --append
15 WVPASS create_dummy
16 WVPASS bash -c "./script --dump --append 1 --append 2 > dump"
17 WVPASS diff -u - dump <<EOF
18 kernel 1 2
19 file
20 EOF
21
22 WVSTART Line continuation
23 WVPASS bash -c '(echo "load line1 \\"; echo " line2")|novaboot --dump > dump'
24 WVPASS diff -u - dump <<EOF
25 line1 line2
26 EOF
27
28 WVSTART --scriptmod
29 create_dummy
30 WVPASS bash -c './script --scriptmod="s/e/3/g" --dump > dump'
31 WVPASS diff -u - dump <<EOF
32 k3rn3l
33 fil3
34 EOF
35
36 WVSTART --kernel
37 create_script <<EOF
38 load kernel arg1 arg2
39 load file farg11
40 EOF
41 WVPASS bash -c './script -k new --dump > dump'
42 WVPASS diff -u - dump <<EOF
43 new arg1 arg2
44 file farg11
45 EOF
46
47 WVSTART --bender
48 create_dummy
49 WVPASS bash -c "./script --gen-only --bender --dump > dump"
50 WVPASS diff -u - dump <<EOF
51 bin/boot/bender
52 kernel
53 file
54 EOF
55
56 WVSTART --chainloader
57 create_dummy
58 WVPASS bash -c "./script --chainloader=chain1 -chainloader='chain2 arg' --dump > dump"
59 WVPASS diff -u - dump <<EOF
60 chain1
61 chain2 arg
62 kernel
63 file
64 EOF
65
66 WVSTART Heredoc
67 create_script <<EOF
68 load file <<XXX
69 load inside heredoc
70 XXX
71 EOF
72 WVPASS bash -c "./script --dump > dump"
73 WVPASS diff -u - dump <<EOF
74 file
75 EOF
76
77 WVSTART Load without file
78 WVFAIL novaboot <<EOF
79 load
80 EOF
81
82 WVSTART Heredoc without file
83 WVFAIL novaboot <<EOF
84 load <<XXX
85 inside heredoc
86 XXX
87 EOF
88
89 WVSTART Run keyword
90 WVPASS bash -c "echo run echo ahoj|novaboot -t '' > output"
91 WVPASS grep "^ahoj$" output