[Bug 223564] Using a test script with filename "null" prevent "make install"
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Nov 9 13:53:58 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223564
Bug ID: 223564
Summary: Using a test script with filename "null" prevent "make
install"
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: tests
Assignee: freebsd-testing at freebsd.org
Reporter: olivier at freebsd.org
I'm writing tests and one file (script shell) has the name "null" and this
prevent makefile to run:
How to reproduce the bug:
===================================
1) First, create a dummy test service
===================================
mkdir -p /usr/src/tests/bug/testing
cat > /usr/src/tests/bug/Makefile <<EOF
TESTSDIR=\${TESTSBASE}/bug
TESTS_SUBDIRS+=testing
.include <bsd.test.mk>
EOF
cat > /usr/src/tests/bug/testing/Makefile <<EOF
PACKAGE=tests
TESTSDIR=\${TESTSBASE}/bug/testing
ATF_TESTS_SH+= null
.include <bsd.test.mk>
EOF
cat > /usr/src/tests/bug/testing/null.sh <<EOF
# empty
atf_test_case "dummy" "cleanup"
dummy_head() {
atf_set descr 'dummy test'
}
dummy_body() {
atf_check -s exit:0 true
}
EOF
==============================================
2) build and (try) install it
============================================
mkdir -p /usr/tests/bug/testing
cd /usr/src/tests/bug
make & make install
root at lame4:/usr/src/tests/bug # make install
install -o root -g wheel -m 444 Kyuafile /usr/tests/bug/Kyuafile
===> testing (install)
make[1]: "/usr/obj/usr/src/amd64.amd64/tests/bug/testing/null" line 3: Need an
operator
make[1]: "/usr/obj/usr/src/amd64.amd64/tests/bug/testing/null" line 4: Need an
operator
make[1]: "/usr/obj/usr/src/amd64.amd64/tests/bug/testing/null" line 5: Need an
operator
make[1]: "/usr/obj/usr/src/amd64.amd64/tests/bug/testing/null" line 6: Need an
operator
make[1]: "/usr/obj/usr/src/amd64.amd64/tests/bug/testing/null" line 7: Need an
operator
make[1]: "/usr/obj/usr/src/amd64.amd64/tests/bug/testing/null" line 9: Need an
operator
make[1]: Fatal errors encountered -- cannot continue
make[1]: stopped in /usr/src/tests/bug/testing
*** Error code 1
Stop.
make: stopped in /usr/src/tests/bug
=> The makefile try to interpret this file
===========================================
3) Fixing, by renaming filename "null" to "empty"
=============================================
rm -rf /usr/obj/usr/src/amd64.amd64/tests/bug/
mv /usr/src/tests/bug/testing/null.sh /usr/src/tests/bug/testing/empty.sh
sed -i "" -e "s/null/empty/" /usr/src/tests/bug/testing/Makefile
make & make install
install -o root -g wheel -m 444 Kyuafile /usr/tests/bug/Kyuafile
===> testing (install)
install -o root -g wheel -m 555 empty /usr/tests/bug/testing/empty
install -o root -g wheel -m 444 Kyuafile /usr/tests/bug/testing/Kyuafile
=> No more bug
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-testing
mailing list