Override and use a sane umask when performing pkg configuration.
Close #106
This commit is contained in:
@@ -15,6 +15,7 @@ atf_test_program{name="scripts_test"}
|
||||
atf_test_program{name="incorrect_deps_test"}
|
||||
atf_test_program{name="vpkg_test"}
|
||||
atf_test_program{name="install_test"}
|
||||
atf_test_program{name="configure_test"}
|
||||
atf_test_program{name="preserve_files_test"}
|
||||
atf_test_program{name="update_shlibs"}
|
||||
atf_test_program{name="update_hold"}
|
||||
|
@@ -5,7 +5,7 @@ TESTSSUBDIR = xbps/libxbps/shell
|
||||
TESTSHELL = conf_files_test issue6_test issue18_test issue20_test remove_test
|
||||
TESTSHELL+= replace_test installmode_test obsoletefiles_test
|
||||
TESTSHELL+= issue31_test scripts_test incorrect_deps_test
|
||||
TESTSHELL+= vpkg_test install_test preserve_files_test
|
||||
TESTSHELL+= vpkg_test install_test preserve_files_test configure_test
|
||||
TESTSHELL+= update_shlibs update_hold update_repolock cyclic_deps
|
||||
EXTRA_FILES = Kyuafile
|
||||
|
||||
|
36
tests/xbps/libxbps/shell/configure_test.sh
Normal file
36
tests/xbps/libxbps/shell/configure_test.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env atf-sh
|
||||
|
||||
atf_test_case filemode
|
||||
|
||||
filemode_head() {
|
||||
atf_set "descr" "Tests for pkg configuration: sane umask for file mode creation"
|
||||
}
|
||||
|
||||
filemode_body() {
|
||||
umask 077
|
||||
mkdir -p repo pkg_A
|
||||
cat >>pkg_A/INSTALL<<EOF
|
||||
#!/bin/sh
|
||||
export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
|
||||
case "\$1" in
|
||||
post)
|
||||
touch file
|
||||
;;
|
||||
esac
|
||||
EOF
|
||||
chmod 755 pkg_A/INSTALL
|
||||
cd repo
|
||||
xbps-create -A noarch -n A-1.0_1 -s "A pkg" ../pkg_A
|
||||
atf_check_equal $? 0
|
||||
xbps-rindex -d -a $PWD/*.xbps
|
||||
atf_check_equal $? 0
|
||||
cd ..
|
||||
xbps-install -C empty.conf -r root --repository=$PWD/repo -yd A
|
||||
atf_check_equal $? 0
|
||||
perms=$(stat --format=%a root/file)
|
||||
atf_check_equal $perms 644
|
||||
}
|
||||
|
||||
atf_init_test_cases() {
|
||||
atf_add_test_case filemode
|
||||
}
|
Reference in New Issue
Block a user