blob: 991b0f6995b662b5da2ff6ddd20b0b2c702e4985 (
plain)
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
|
# file : tests/builtin/rm.testscript
# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
test.arguments = "rm"
test.options += -c
: unknown-option
:
$* -u >'option -u' 2>"rm: unknown option '-u'" == 1
: no-args
:
{
: fail
:
: Removing with no arguments fails.
:
$* 2>"rm: missing file" == 1
: force
:
: Removing with no arguments succeeds with -f option.
:
$* -f
}
: file
:
{
: exists
:
: Removing existing file succeeds.
:
{
touch a &!a;
$* a >>/~%EOO%
%remove .+/a false true%
%remove .+/a false false%
EOO
}
: not-exists
:
{
: fail
:
: Removing non-existing file fails.
:
$* a >/~'%remove .+/a false true%' 2>>/~%EOE% == 1
%rm: unable to remove '.+/a': .+%
EOE
: force
:
: Removing non-existing file succeeds with -f option.
:
$* -f a >>/~%EOO%
%remove .+/a true true%
%remove .+/a true false%
EOO
}
}
: dir
:
{
: default
:
: Removing directory fails by default.
:
{
mkdir a;
$* a >/~'%remove .+/a false true%' 2>>/~%EOE% == 1
%rm: '.+/a' is a directory%
EOE
}
: recursive
:
: Removing directory succeeds with -r option.
:
{
mkdir -p a/b &!a &!a/b;
$* -r a >>/~%EOO%
%remove .+/a false true%
%remove .+/a false false%
EOO
}
}
: path
:
{
: empty
:
: Removing an empty path fails.
:
{
$* '' 2>"rm: invalid path ''" == 1
}
}
|