summaryrefslogtreecommitdiffstats
path: root/test/integration/test-apt-edit-sources
blob: 58742e94f34e5738e9b4798c24f75ebdf1c64c6f (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
#!/bin/sh
set -e

TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"

setupenvironment
configarchitecture 'native'

echo 'Dir::Bin::Editor "cat";' > rootdir/etc/apt/apt.conf.d/editor.conf

echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list.d/rocks.list
testsuccessequal "$(cat rootdir/etc/apt/sources.list.d/rocks.list)" apt edit-sources rocks.list

cat >editor.sh <<EOF
#!/bin/sh
umask 077
touch "\$@"
EOF
chmod +x ./editor.sh
echo 'Dir::Bin::Editor "./editor.sh";' > rootdir/etc/apt/apt.conf.d/editor.conf
testsuccess apt edit-sources blub.list
testfailure test -e 'rootdir/etc/apt/sources.list.d/blub.list'

cat >editor.sh <<EOF
#!/bin/sh
umask 077
echo '#comment' > "\$1"
EOF
testsuccess apt edit-sources blub.list
testfilestats 'rootdir/etc/apt/sources.list.d/blub.list' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"

echo 'Dir::Bin::Editor "cat";' > rootdir/etc/apt/apt.conf.d/editor.conf
echo 'blub' > rootdir/etc/apt/sources.list.d/blub.list
testfailure apt edit-sources blub.list --assume-no

echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list.d/blub.list
touch -m -d 'now + 1 hour' rootdir/etc/apt/sources.list.d/blub.list
testwarning apt edit-sources blub.list --assume-no