Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/pkg
Path: blob/main/tests/frontend/backup_lib.sh
2065 views
1
#! /usr/bin/env atf-sh
2
3
. $(atf_get_srcdir)/test_environment.sh
4
5
tests_init \
6
basic
7
8
basic_body() {
9
atf_skip_on Darwin The macOS linker uses different flags
10
atf_check -s exit:0 sh ${RESOURCEDIR}/test_subr.sh new_pkg "test" "test" "1"
11
cat << EOF >> test.ucl
12
files: {
13
${TMPDIR}/libempty.so.1: "",
14
}
15
EOF
16
17
atf_check -s exit:0 sh ${RESOURCEDIR}/test_subr.sh new_pkg "foo" "foo" "1"
18
cat << EOF >> foo.ucl
19
files: {
20
${TMPDIR}/libfoo.so.1: "",
21
}
22
EOF
23
mkdir ${TMPDIR}/target
24
touch empty.c
25
cc -shared -Wl,-soname=libempty.so.1 empty.c -o libempty.so.1
26
cc -shared -Wl,-soname=libfoo.so.1 empty.c -o libfoo.so.1
27
sum=$(openssl dgst -sha256 -hex libempty.so.1)
28
29
atf_check \
30
-o empty \
31
-e empty \
32
-s exit:0 \
33
pkg create -M test.ucl
34
35
atf_check \
36
-o empty \
37
-e empty \
38
-s exit:0 \
39
pkg create -M foo.ucl
40
41
atf_check \
42
-e empty \
43
-o empty \
44
-s exit:0 \
45
pkg -o BACKUP_LIBRARIES=true -o REPOS_DIR=/dev/null -r ${TMPDIR}/target install -qfy ${TMPDIR}/test-1.pkg
46
47
atf_check \
48
-e empty \
49
-o empty \
50
-s exit:0 \
51
pkg -o BACKUP_LIBRARIES=true -o REPOS_DIR=/dev/null -r ${TMPDIR}/target install -qfy ${TMPDIR}/foo-1.pkg
52
53
atf_check -s exit:0 sh ${RESOURCEDIR}/test_subr.sh new_pkg "test" "test" "2"
54
55
atf_check \
56
-s exit:0 \
57
pkg create -M test.ucl
58
59
rm test-1.pkg
60
atf_check \
61
-o ignore \
62
-s exit:0 pkg repo .
63
64
mkdir reposconf
65
cat <<EOF >> reposconf/repo.conf
66
local: {
67
url: file:///${TMPDIR},
68
enabled: true
69
}
70
EOF
71
72
atf_check \
73
-e empty \
74
-o ignore \
75
-s exit:0 \
76
pkg -o BACKUP_LIBRARY_PATH=/back/ -o BACKUP_LIBRARIES=true -o REPOS_DIR=${TMPDIR}/reposconf -r ${TMPDIR}/target upgrade -y
77
atf_check \
78
-o ignore \
79
-e empty \
80
-s exit:0 \
81
ls target/back/libempty.so.1
82
atf_check \
83
-o inline:"/back/libempty.so.1\n" \
84
pkg -r ${TMPDIR}/target query "%Fp" compat-libraries
85
rm foo-1.pkg
86
atf_check -s exit:0 sh ${RESOURCEDIR}/test_subr.sh new_pkg "foo" "foo" "2"
87
atf_check \
88
-s exit:0 \
89
pkg create -M foo.ucl
90
atf_check \
91
-o ignore \
92
-s exit:0 pkg repo .
93
atf_check \
94
-o ignore \
95
pkg -o BACKUP_LIBRARY_PATH=/back/ -o BACKUP_LIBRARIES=true -o REPOS_DIR=${TMPDIR}/reposconf -r ${TMPDIR}/target update -f
96
version1=$(pkg -r ${TMPDIR}/target query "%v" compat-libraries)
97
atf_check \
98
-e empty \
99
-o ignore \
100
-s exit:0 \
101
pkg -o BACKUP_LIBRARY_PATH=/back/ -o BACKUP_LIBRARIES=true -o REPOS_DIR=${TMPDIR}/reposconf -r ${TMPDIR}/target upgrade -y
102
atf_check \
103
-o inline:"/back/libempty.so.1\n/back/libfoo.so.1\n" \
104
pkg -r ${TMPDIR}/target query "%Fp" compat-libraries
105
version2=$(pkg -r ${TMPDIR}/target query "%v" compat-libraries)
106
[ ${version2} -ge ${version1} ] || atf_fail "the version hasn't been bumped ${version2} >= ${version1}"
107
}
108
109