blob: 258a1819f83a39ed01a794aeaa189309d653db98 (
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
#!/bin/bash
curdir=$(readlink -e $(dirname $0))
. "${curdir}/lib/common.inc"
#
# self test
#
testPackages() {
local p
for p in "${pkgdir}"/*; do
pushd $p >/dev/null
namcap *.pkg.tar.* || fail 'namcap failed'
popd >/dev/null
done
}
#
# db-update
#
testAddSimplePackages() {
local arches=('i686' 'x86_64')
local pkgs=('pkg-simple-a' 'pkg-simple-b')
local pkgbase
for pkgbase in ${pkgs[@]}; do
for arch in ${arches[@]}; do
releasePackage extra ${pkgbase} ${arch}
done
done
../db-update extra
for pkgbase in ${pkgs[@]}; do
for arch in ${arches[@]}; do
checkPackage extra ${pkgbase}-1-1-${arch}.pkg.tar.xz ${arch}
done
done
}
testAddAnyPackages() {
local pkgs=('pkg-any-a' 'pkg-any-b')
local pkgbase
for pkgbase in ${pkgs[@]}; do
releasePackage extra ${pkgbase} any
done
../db-update extra
for pkgbase in ${pkgs[@]}; do
checkAnyPackage extra ${pkgbase}-1-1-any.pkg.tar.xz
done
}
testAddSplitPackages() {
local arches=('i686' 'x86_64')
local pkgs=('pkg-split-a' 'pkg-split-b')
local pkg
local pkgbase
for pkgbase in ${pkgs[@]}; do
for arch in ${arches[@]}; do
releasePackage extra ${pkgbase} ${arch}
done
done
../db-update extra
for pkgbase in ${pkgs[@]}; do
for arch in ${arches[@]}; do
for pkg in "${pkgdir}/${pkgbase}"/*-${arch}.pkg.tar.*; do
checkPackage extra $(basename ${pkg}) ${arch}
done
done
done
}
#
# db-remove
#
testRemovePackages() {
local arches=('i686' 'x86_64')
local pkgs=('pkg-simple-a' 'pkg-simple-b' 'pkg-split-a' 'pkg-split-b')
local pkgbase
for pkgbase in ${pkgs[@]}; do
for arch in ${arches[@]}; do
releasePackage extra ${pkgbase} ${arch}
done
done
../db-update extra
for pkgbase in ${pkgs[@]}; do
for arch in ${arches[@]}; do
../db-remove ${pkgbase} extra ${arch}
done
done
for arch in ${arches[@]}; do
[ -z "$(bsdtar -tf "${FTP_BASE}/extra/os/${arch}/extra.db.tar.gz" -O)" ] || fail "extra/os/${arch}/${repo}.db.tar.gz should be empty"
done
for pkgbase in ${pkgs[@]}; do
for arch in ${arches[@]}; do
svn up -q "${TMP}/svn-packages-copy/${pkgbase}"
[ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/extra-${arch}" ] && fail "svn-packages-copy/${pkgbase}/repos/extra-${arch} should not exist"
done
done
}
testRemoveAnyPackages() {
local arches=('i686' 'x86_64')
local pkgs=('pkg-any-a' 'pkg-any-b')
local pkgbase
for pkgbase in ${pkgs[@]}; do
releasePackage extra ${pkgbase} any
done
../db-update extra
for pkgbase in ${pkgs[@]}; do
../db-remove ${pkgbase} extra any
done
for arch in ${arches[@]}; do
[ -z "$(bsdtar -tf "${FTP_BASE}/extra/os/${arch}/extra.db.tar.gz" -O)" ] || fail "extra/os/${arch}/${repo}.db.tar.gz should be empty"
done
for pkgbase in ${pkgs[@]}; do
svn up -q "${TMP}/svn-packages-copy/${pkgbase}"
[ -d "${TMP}/svn-packages-copy/${pkgbase}/repos/extra-any" ] && fail "svn-packages-copy/${pkgbase}/repos/extra-any should not exist"
done
}
. "${curdir}/lib/shunit2"
|