aboutsummaryrefslogtreecommitdiff
path: root/tests/builtin/mkdir.testscript
blob: 5225caaaa70d7150c4862580bbbab0c0c2e5a089 (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
# file      : tests/builtin/mkdir.testscript
# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

test.arguments = "mkdir"
test.options += -c

: unknown-option
:
$* -u >'option -u' 2>"mkdir: unknown option '-u'" == 1

: parent
:
{
  $* -p a/b >>/~%EOO% &a/ &a/b/;
    %create .+/a/ true%
    %create .+/a/ false%
    %create .+/a/b/ true%
    %create .+/a/b/ false%
    EOO

  touch a/a a/b/b
}

: exists
:
{
  $* -p a a a/b a/b >>/~%EOO% &a/ &a/b/
    %create .+/a/ true%
    %create .+/a/ false%
    %create .+/a/b/ true%
    %create .+/a/b/ false%
    EOO
}

: dirs
:
{
  $* a b >>/~%EOO% &a/ &b/;
    %create .+/a/ true%
    %create .+/a/ false%
    %create .+/b/ true%
    %create .+/b/ false%
    EOO

  touch a/a b/b
}

: double-dash
:
: Make sure '-p' directory is created.
:
{
  $* -p -- -p >>/~%EOO% &-p/;
    %create .+/-p/ true%
    %create .+/-p/ false%
    EOO

  touch -- -p/a
}

: no-args
:
: Test passing no arguments.
:
{
  $* 2>"mkdir: missing directory" == 1
}

: empty-path
:
: Test creation of empty directory path.
:
{
  $* '' 2>"mkdir: invalid path ''" == 1
}

: already-exists
:
: Test creation of an existing directory.
:
{
  $* a a >>/~%EOO% 2>>/~%EOE% &a/ == 1
    %create .+/a/ true%
    %create .+/a/ false%
    %create .+/a/ true%
    EOO
    %mkdir: unable to create directory '.+/a': .+%
    EOE
}

: not-exists
:
: Test creation of a directory with non-existent parent.
:
{
  $* a/b >>/~%EOO% 2>>/~%EOE% == 1
    %create .+/a/b/ true%
    EOO
    %mkdir: unable to create directory '.+/a/b': .+%
    EOE
}