File: transform.at

package info (click to toggle)
rush 2.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,276 kB
  • sloc: ansic: 46,428; sh: 18,253; yacc: 881; lex: 760; makefile: 284; awk: 87; lisp: 56; sed: 24
file content (111 lines) | stat: -rw-r--r-- 2,078 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# This file is part of GNU Rush. 
# Copyright (C) 2016-2024 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush.  If not, see <http://www.gnu.org/licenses/>.

AT_SETUP([transform])
AT_KEYWORDS([transform])

AT_RUSH_TEST([
rule
    transform s/^[^[:space:]]+/& -t/
],
[cmdline,argv,prog],
[svnserve],
[0],
[{
    "cmdline":"svnserve -t",
    "argv":[[
        "svnserve",
        "-t"
    ]],
    "prog":null
}
],
[rush: Notice: parsing legacy configuration file test.conf
])

AT_RUSH_TEST([
rule
    transform "\${command} end"  s/[[:space:]]+-[^[:space:]]+//g
],
[cmdline,argv,prog],
[echo -c -t foo -n bar],
[0],
[{
    "cmdline":"echo foo bar end",
    "argv":[[
        "echo",
        "foo",	
        "bar",
        "end"	
    ]],
    "prog":null
}
],
[rush: Notice: parsing legacy configuration file test.conf
])

AT_RUSH_TEST([
rule
    transform[0] s|^[^/]|/usr/bin/&|
],
[cmdline,argv,prog],
[echo foo],
[0],
[{
    "cmdline":"/usr/bin/echo foo",
    "argv":[[
        "/usr/bin/echo",
        "foo"
    ]],
    "prog":null
}
],
[rush: Notice: parsing legacy configuration file test.conf
],

[/bin/echo foo],
[0],
[{
    "cmdline":"/bin/echo foo",
    "argv":[[
        "/bin/echo",
        "foo"
    ]],
    "prog":null
}
],
[rush: Notice: parsing legacy configuration file test.conf
])

AT_RUSH_TEST([
rule
    transform[0] \$program s,.*/,-,
],
[cmdline,argv,prog],
[/bin/sh],
[0],
[{
    "cmdline":"-sh",
    "argv":[[
        "-sh"
    ]],
    "prog":null
}
],
[rush: Notice: parsing legacy configuration file test.conf
])

AT_CLEANUP