blob: 561bfe5ba31fef70f605d88ebaf28e9e9d8f5962 (
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
|
Describe 'Main toolchain'
export PATH=$PWD/src:$PATH
export CPT_ROOT=$PWD/tests/02
export CPT_PATH=$PWD/tests/repository
install_dummy() { CPT_HOOK='' ./src/cpt bi dummy-pkg >/dev/null 2>&1 ;}
remove_dummy() { rm -rf "${CPT_ROOT:?}/var" ;}
BeforeAll install_dummy
AfterAll remove_dummy
Describe 'cpt'
Describe '--version'
VERSION=$(grep VERSION config.rc | sed 's/.* //g')
It 'outputs cpt version'
When run script src/cpt --version
The stderr should eq "-> Carbs Packaging Tools $VERSION"
End
End
Describe '--help'
It 'outputs usage information'
When run script src/cpt --help
The line 1 of stderr should eq "-> Carbs Packaging Tool "
End
End
Describe 'prefix completion'
Describe 'single key expansion'
Parameters
a alternatives
b build
c checksum
d download
i install
l list
r remove
s search
u update
End
It "completes '$1' single key prefix to '$2'"
When run script src/cpt "$1" --help
The status should eq 0
The word 1 of line 1 should eq "usage:"
The word 2 of line 1 should eq "cpt-$2"
End
End
Describe 'shortcut expansion'
Parameters
bi "build install"
cbi "checksum build install"
End
It "expands the '$1' shortcut to '$2'"
When run script src/cpt "$1" --help
The status should be success
The word 2 of line 1 should eq "cpt-${2%% *}"
End
End
End
It 'fails when a given subcommand is not valid'
When run script src/cpt somerandomcommand
The stderr should eq "!> 'cpt somerandomcommand' is not a valid command "
The status should be failure
End
End
Describe 'cpt-list'
no_db_dir() {
[ "$(pkgnum)" -eq 0 ]
}
Skip if "there are no installed packages" no_db_dir
It 'lists all packages when called without arguments'
When run script src/cpt-list
The lines of output should eq "$(pkgnum)"
End
firstpkg=$(getfirstpkg)
It 'only lists the packages given in the arguments'
When run script src/cpt-list "$firstpkg"
The word 1 of stdout should eq "$firstpkg"
End
It 'fails when the package supplied in the arguments does not exist'
When run script src/cpt-list somerandompackage
The stderr should eq "-> somerandompackage not installed"
The status should be failure
End
Parameters
"$firstpkg" success
somerandompackage failure
End
It "can print a $2 message with 'cpt-list --check PKG TRUE FALSE'"
When run script src/cpt-list --check "$1" success failure
The output should eq "$2"
End
End
End
|