Skip to contentSkip to conversation

Fixes for busybox ptest

PATCH Superseded Chen Qi 2 participants 13 messages Nov 21, 2018 – Nov 23, 2018

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Chen Qi

author
#0 lore raw

v2 cover Fixes for busybox ptest

Changes in V2:
* fix bzip2 recipe to extend its alternatives list
* check CONFIG_DESKTOP beforing using 'od -t' in test cases

The following changes since commit bdffa0ce10870f70e0a7ab7636ff0d797df43e3a:

apt: Improve SRC_URI (2018-11-20 10:32:16 +0000)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib ChenQi/busybox-ptest
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/busybox-ptest

Chen Qi (8):
busybox: enable bzip2 by default
bzip2: extend alternatives list to include bzip2
busybox: add zip to RDEPENDS of ptest package
busybox: check uudecode before using it in test case
busybox: use example.org instead of google.com in wget test case
busybox: remove three hostname test cases
busybox: fix du-l-works test case
busybox: check CONFIG_DESKTOP before using 'od -t' in test case

 meta/recipes-core/busybox/busybox.inc              |  9 +++
 ...-du-l-works-fix-to-use-145-instead-of-144.patch | 32 +++++++++
 ...te-check-CONFIG_DESKTOP-before-using-od-t.patch | 83 ++++++++++++++++++++++
 ...-testsuite-check-uudecode-before-using-it.patch | 45 ++++++++++++
 ...e-use-www.example.org-for-wget-test-cases.patch | 62 ++++++++++++++++
 meta/recipes-core/busybox/busybox/defconfig        |  2 +-
 meta/recipes-core/busybox/busybox_1.29.2.bb        |  4 ++
 meta/recipes-extended/bzip2/bzip2_1.0.6.bb         |  2 +-
 8 files changed, 237 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch
 create mode 100644 meta/recipes-core/busybox/busybox/0001-testsuite-check-CONFIG_DESKTOP-before-using-od-t.patch
 create mode 100644 meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
 create mode 100644 meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch
Signature · 1 line
1.9.1
author
#2 lore raw

PATCH v2 2/8 bzip2: extend alternatives list to include bzip2

bzip2 could also be provided by busybox. So extend the alternatives list to include bzip2.

---
 meta/recipes-extended/bzip2/bzip2_1.0.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-extended/bzip2/bzip2_1.0.6.bb +1 -1
index 025f45c..7d04e30 100644
@@ -29,7 +29,7 @@ CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=
 inherit autotools update-alternatives ptest relative_symlinks
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "bunzip2 bzcat"
+ALTERNATIVE_${PN} = "bunzip2 bzcat bzip2"
 
 #install binaries to bzip2-native under sysroot for replacement-native
 EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
Signature · 1 line
1.9.1
author
#3 lore raw

PATCH v2 3/8 busybox: add zip to RDEPENDS of ptest package

In reply to Chen Qi

busybox's unzip test case requires zip command. However, busybox itself does not provide one. So add zip as a runtime dependency.

---
 meta/recipes-core/busybox/busybox.inc | 3 +++
 1 file changed, 3 insertions(+)
meta/recipes-core/busybox/busybox.inc +3 -0
index b8d8858..b45d2b6 100644
@@ -53,6 +53,9 @@ RDEPENDS_${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_man
 
 inherit cml1 systemd update-rc.d ptest
 
+# busybox's unzip test case needs zip command, which busybox itself does not provide
+RDEPENDS_${PN}-ptest = "zip"
+
 # internal helper
 def busybox_cfg(feature, tokens, cnf, rem):
 	if type(tokens) == type(""):
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH v2 1/8 busybox: enable bzip2 by default

In reply to Chen Qi

bunzip2 is enabled by default, but bzip2 is not. This is kind of strange, and it also causes busybox's ptest failure regarding bunzip2, as bunzip2's test case needs bzip2 command.

---
 meta/recipes-core/busybox/busybox/defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/busybox/busybox/defconfig +1 -1
index 32213c0..0c40990 100644
@@ -150,7 +150,7 @@ CONFIG_LZCAT=y
 # CONFIG_UNXZ is not set
 CONFIG_XZCAT=y
 # CONFIG_XZ is not set
-# CONFIG_BZIP2 is not set
+CONFIG_BZIP2=y
 CONFIG_FEATURE_BZIP2_DECOMPRESS=y
 CONFIG_CPIO=y
 # CONFIG_FEATURE_CPIO_O is not set
Signature · 1 line
1.9.1
author
#5 lore raw

PATCH v2 5/8 busybox: use example.org instead of google.com in wget test case

In reply to Chen Qi

Use example.org to ensure it's always reachible.

---
 ...e-use-www.example.org-for-wget-test-cases.patch | 62 ++++++++++++++++++++++
 meta/recipes-core/busybox/busybox_1.29.2.bb        |  1 +
 2 files changed, 63 insertions(+)
 create mode 100644 meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch
meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch new file +62 -0
new file mode 100644
index 0000000..7ba0f77
@@ -0,0 +1,62 @@
+From 03acf460990dfcf6e52b298301b348b9504460a8 Mon Sep 17 00:00:00 2001
+From: Chen Qi <[email protected]>
+Date: Tue, 13 Nov 2018 13:51:42 +0800
+Subject: [PATCH] testsuite: use www.example.org for wget test cases
+
+Use example.org instead of google.com to make sure it's
+always reachible.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086835.html]
+
+Signed-off-by: Chen Qi <[email protected]>
+---
+ testsuite/wget/wget--O-overrides--P        | 2 +-
+ testsuite/wget/wget-handles-empty-path     | 2 +-
+ testsuite/wget/wget-retrieves-google-index | 2 +-
+ testsuite/wget/wget-supports--P            | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/testsuite/wget/wget--O-overrides--P b/testsuite/wget/wget--O-overrides--P
+index 40a3a96..490d743 100644
+--- a/testsuite/wget/wget--O-overrides--P
++++ b/testsuite/wget/wget--O-overrides--P
+@@ -1,5 +1,5 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+ 
+ mkdir foo
+-busybox wget -q -O index.html -P foo http://www.google.com/
++busybox wget -q -O index.html -P foo http://www.example.org/
+ test -s index.html
+diff --git a/testsuite/wget/wget-handles-empty-path b/testsuite/wget/wget-handles-empty-path
+index 01d60bd..1802db6 100644
+--- a/testsuite/wget/wget-handles-empty-path
++++ b/testsuite/wget/wget-handles-empty-path
+@@ -1,3 +1,3 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+ 
+-busybox wget http://www.google.com
++busybox wget http://www.example.org
+diff --git a/testsuite/wget/wget-retrieves-google-index b/testsuite/wget/wget-retrieves-google-index
+index f9dbb8b..fc801d4 100644
+--- a/testsuite/wget/wget-retrieves-google-index
++++ b/testsuite/wget/wget-retrieves-google-index
+@@ -1,4 +1,4 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+ 
+-busybox wget -q -O foo http://www.google.com/
++busybox wget -q -O foo http://www.example.org/
+ test -s foo
+diff --git a/testsuite/wget/wget-supports--P b/testsuite/wget/wget-supports--P
+index bfe4ac4..4ff2fe0 100644
+--- a/testsuite/wget/wget-supports--P
++++ b/testsuite/wget/wget-supports--P
+@@ -1,5 +1,5 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+ 
+ mkdir foo
+-busybox wget -q -P foo http://www.google.com/
++busybox wget -q -P foo http://www.example.org/
+ test -s foo/index.html
+-- 
+2.7.4
+
meta/recipes-core/busybox/busybox_1.29.2.bb +1 -0
index a63fa82..98767f0 100644
@@ -42,6 +42,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://rcK \
            file://makefile-libbb-race.patch \
            file://0001-testsuite-check-uudecode-before-using-it.patch \
+           file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
 "
 SRC_URI_append_libc-musl = " file://musl.cfg "
 
Signature · 1 line
1.9.1
author
#6 lore raw

PATCH v2 6/8 busybox: remove three hostname test cases

In reply to Chen Qi

These three test case are removed because of two reasons.
1) net-tools' hostname have different behaviour regarding some options So when net-tools is installed, test cases may fail. e.g.
test x$(hostname -i) = x$(busybox hostname -i)

2) hostname may set to some value, e.g. qemux86-64, which is not an entry in /etc/hosts This results in lookup failure when using `hostname -f' as there's no entry in /etc/hosts.

---
 meta/recipes-core/busybox/busybox.inc | 6 ++++++
 1 file changed, 6 insertions(+)
meta/recipes-core/busybox/busybox.inc +6 -0
index b45d2b6..cc7246f 100644
@@ -352,6 +352,12 @@ do_install_ptest () {
 	cp -r ${B}/testsuite ${D}${PTEST_PATH}/
 	cp ${B}/.config      ${D}${PTEST_PATH}/
 	ln -s /bin/busybox   ${D}${PTEST_PATH}/busybox
+	# Remove some hostname test cases as they may fail because of two reasons
+	# 1) net-tools' hostname have different behaviour regarding some options
+	# 2) hostname may set to some value, e.g. qemux86-64, which is not an entry in /etc/hosts
+	rm ${D}${PTEST_PATH}/testsuite/hostname/hostname-i-works
+	rm ${D}${PTEST_PATH}/testsuite/hostname/hostname-d-works
+	rm ${D}${PTEST_PATH}/testsuite/hostname/hostname-s-works
 }
 
 inherit update-alternatives
Signature · 1 line
1.9.1
author
#4 lore raw

PATCH v2 4/8 busybox: check uudecode before using it in test case

In reply to Chen Qi

Check uudecode before using it in test case to avoid unexpected failure.

---
 ...-testsuite-check-uudecode-before-using-it.patch | 45 ++++++++++++++++++++++
 meta/recipes-core/busybox/busybox_1.29.2.bb        |  1 +
 2 files changed, 46 insertions(+)
 create mode 100644 meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch new file +45 -0
new file mode 100644
index 0000000..2d9856f
@@ -0,0 +1,45 @@
+From 85f164ec427fecbae24140b3c93acbbe2ba1c817 Mon Sep 17 00:00:00 2001
+From: Chen Qi <[email protected]>
+Date: Tue, 13 Nov 2018 11:27:01 +0800
+Subject: [PATCH] testsuite: check uudecode before using it
+
+The unzip and tar test cases use uudecode command, so also
+check it via optional function.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086833.html]
+
+Signed-off-by: Chen Qi <[email protected]>
+---
+ testsuite/tar.tests   | 2 +-
+ testsuite/unzip.tests | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/testsuite/tar.tests b/testsuite/tar.tests
+index d71a349..8c88567 100755
+--- a/testsuite/tar.tests
++++ b/testsuite/tar.tests
+@@ -336,7 +336,7 @@ SKIP=
+ cd .. || exit 1; rm -rf tar.tempdir 2>/dev/null
+ 
+ mkdir tar.tempdir && cd tar.tempdir || exit 1
+-optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS
++optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS UUDECODE
+ testing "Symlink attack: create symlink and then write through it" '\
+ exec 2>&1
+ uudecode -o input && tar xvf input; echo $?
+diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests
+index af53de9..3b45ece 100755
+--- a/testsuite/unzip.tests
++++ b/testsuite/unzip.tests
+@@ -31,7 +31,7 @@ rmdir foo
+ rm foo.zip
+ 
+ # File containing some damaged encrypted stream
+-optional FEATURE_UNZIP_CDF
++optional FEATURE_UNZIP_CDF UUDECODE
+ testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
+ "Archive:  bad.zip
+   inflating: ]3j½r«IK-%Ix
+-- 
+2.7.4
+
meta/recipes-core/busybox/busybox_1.29.2.bb +1 -0
index df3ea59..a63fa82 100644
@@ -41,6 +41,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://rcS \
            file://rcK \
            file://makefile-libbb-race.patch \
+           file://0001-testsuite-check-uudecode-before-using-it.patch \
 "
 SRC_URI_append_libc-musl = " file://musl.cfg "
 
Signature · 1 line
1.9.1
author
#11 lore raw

PATCH v2 7/8 busybox: fix du-l-works test case

In reply to Chen Qi

64 + 64 + 16 = 144K
144 + sizeof_a_directory >= 145
So fix to use 145 instead of 144.

---
 ...-du-l-works-fix-to-use-145-instead-of-144.patch | 32 ++++++++++++++++++++++
 meta/recipes-core/busybox/busybox_1.29.2.bb        |  1 +
 2 files changed, 33 insertions(+)
 create mode 100644 meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch
meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch new file +32 -0
new file mode 100644
index 0000000..bb5f753
@@ -0,0 +1,32 @@
+From c69feb2fdb755d6db34d0eb0a9e9994386c15e3a Mon Sep 17 00:00:00 2001
+From: Chen Qi <[email protected]>
+Date: Wed, 14 Nov 2018 15:19:57 +0800
+Subject: [PATCH] du-l-works: fix to use 145 instead of 144
+
+64 + 64 + 16 = 144
+144 + size_of_directory >= 145
+So fix to use 145 instead of 144.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086836.html]
+
+Signed-off-by: Chen Qi <[email protected]>
+---
+ testsuite/du/du-l-works | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testsuite/du/du-l-works b/testsuite/du/du-l-works
+index af87345..575064a 100644
+--- a/testsuite/du/du-l-works
++++ b/testsuite/du/du-l-works
+@@ -5,7 +5,7 @@ cd du.testdir
+ dd if=/dev/zero of=file1 bs=1k count=64 2>/dev/null
+ ln file1 file1.1
+ dd if=/dev/zero of=file2 bs=1k count=16 2>/dev/null
+-test x"`busybox du -l .`" = x"144	." \
++test x"`busybox du -l .`" = x"145	." \
+   -o x"`busybox du -l .`" = x"146	." \
+   -o x"`busybox du -l .`" = x"148	." \
+   -o x"`busybox du -l .`" = x"152	." \
+-- 
+2.7.4
+
meta/recipes-core/busybox/busybox_1.29.2.bb +1 -0
index 98767f0..f38db2a 100644
@@ -43,6 +43,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://makefile-libbb-race.patch \
            file://0001-testsuite-check-uudecode-before-using-it.patch \
            file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
+           file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
 "
 SRC_URI_append_libc-musl = " file://musl.cfg "
 
Signature · 1 line
1.9.1
author
#12 lore raw

PATCH v2 8/8 busybox: check CONFIG_DESKTOP before using 'od -t' in test case

In reply to Chen Qi

The '-t' option support for 'od' is enabled by CONFIG_DESKTOP. So check it before using it in test cases.

---
 ...te-check-CONFIG_DESKTOP-before-using-od-t.patch | 83 ++++++++++++++++++++++
 meta/recipes-core/busybox/busybox_1.29.2.bb        |  1 +
 2 files changed, 84 insertions(+)
 create mode 100644 meta/recipes-core/busybox/busybox/0001-testsuite-check-CONFIG_DESKTOP-before-using-od-t.patch
meta/recipes-core/busybox/busybox/0001-testsuite-check-CONFIG_DESKTOP-before-using-od-t.patch new file +83 -0
new file mode 100644
index 0000000..9b96eee
@@ -0,0 +1,83 @@
+From b09db631e77c63ebe733c69b00108f043f1f1d85 Mon Sep 17 00:00:00 2001
+From: Chen Qi <[email protected]>
+Date: Wed, 21 Nov 2018 10:00:29 +0800
+Subject: [PATCH] testsuite: check CONFIG_DESKTOP before using 'od -t'
+
+The '-t' option for od is enabled by CONFIG_DESKTOP. So
+check this config before using 'od -t' in test cases.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086895.html]
+
+Signed-off-by: Chen Qi <[email protected]>
+---
+ testsuite/echo/echo-prints-dash        | 1 +
+ testsuite/echo/echo-prints-non-opts    | 1 +
+ testsuite/echo/echo-prints-slash-zero  | 2 +-
+ testsuite/echo/echo-prints-slash_00041 | 2 +-
+ testsuite/echo/echo-prints-slash_0041  | 2 +-
+ testsuite/echo/echo-prints-slash_041   | 2 +-
+ testsuite/echo/echo-prints-slash_41    | 2 +-
+ 7 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/testsuite/echo/echo-prints-dash b/testsuite/echo/echo-prints-dash
+index ddcdbad..f1f31a0 100644
+--- a/testsuite/echo/echo-prints-dash
++++ b/testsuite/echo/echo-prints-dash
+@@ -1 +1,2 @@
++# FEATURE: CONFIG_DESKTOP
+ test "`busybox echo - | od -t x1 | head -n 1`" = "0000000 2d 0a"
+diff --git a/testsuite/echo/echo-prints-non-opts b/testsuite/echo/echo-prints-non-opts
+index c7d1e20..4e642a1 100644
+--- a/testsuite/echo/echo-prints-non-opts
++++ b/testsuite/echo/echo-prints-non-opts
+@@ -1 +1,2 @@
++# FEATURE: CONFIG_DESKTOP
+ test "`busybox echo -neEZ | od -t x1 | head -n 1`" = "0000000 2d 6e 65 45 5a 0a"
+diff --git a/testsuite/echo/echo-prints-slash-zero b/testsuite/echo/echo-prints-slash-zero
+index d97ed8e..948f899 100644
+--- a/testsuite/echo/echo-prints-slash-zero
++++ b/testsuite/echo/echo-prints-slash-zero
+@@ -1,3 +1,3 @@
+-# FEATURE: CONFIG_FEATURE_FANCY_ECHO
++# FEATURE: CONFIG_FEATURE_FANCY_ECHO CONFIG_DESKTOP
+ 
+ test "`busybox echo -e -n 'msg\n\0' | od -t x1 | head -n 1`" = "0000000 6d 73 67 0a 00"
+diff --git a/testsuite/echo/echo-prints-slash_00041 b/testsuite/echo/echo-prints-slash_00041
+index 9cffabd..7ea217b 100644
+--- a/testsuite/echo/echo-prints-slash_00041
++++ b/testsuite/echo/echo-prints-slash_00041
+@@ -1,3 +1,3 @@
+-# FEATURE: CONFIG_FEATURE_FANCY_ECHO
++# FEATURE: CONFIG_FEATURE_FANCY_ECHO CONFIG_DESKTOP
+ 
+ test "`busybox echo -ne '\00041z' | od -t x1 | head -n 1`" = "0000000 04 31 7a"
+diff --git a/testsuite/echo/echo-prints-slash_0041 b/testsuite/echo/echo-prints-slash_0041
+index b07429d..941faca 100644
+--- a/testsuite/echo/echo-prints-slash_0041
++++ b/testsuite/echo/echo-prints-slash_0041
+@@ -1,3 +1,3 @@
+-# FEATURE: CONFIG_FEATURE_FANCY_ECHO
++# FEATURE: CONFIG_FEATURE_FANCY_ECHO CONFIG_DESKTOP
+ 
+ test "`busybox echo -ne '\0041z' | od -t x1 | head -n 1`" = "0000000 21 7a"
+diff --git a/testsuite/echo/echo-prints-slash_041 b/testsuite/echo/echo-prints-slash_041
+index 1d70cec..60cbfca 100644
+--- a/testsuite/echo/echo-prints-slash_041
++++ b/testsuite/echo/echo-prints-slash_041
+@@ -1,3 +1,3 @@
+-# FEATURE: CONFIG_FEATURE_FANCY_ECHO
++# FEATURE: CONFIG_FEATURE_FANCY_ECHO CONFIG_DESKTOP
+ 
+ test "`busybox echo -ne '\041z' | od -t x1 | head -n 1`" = "0000000 21 7a"
+diff --git a/testsuite/echo/echo-prints-slash_41 b/testsuite/echo/echo-prints-slash_41
+index 6d8999b..afd7c36 100644
+--- a/testsuite/echo/echo-prints-slash_41
++++ b/testsuite/echo/echo-prints-slash_41
+@@ -1,3 +1,3 @@
+-# FEATURE: CONFIG_FEATURE_FANCY_ECHO
++# FEATURE: CONFIG_FEATURE_FANCY_ECHO CONFIG_DESKTOP
+ 
+ test "`busybox echo -ne '\41z' | od -t x1 | head -n 1`" = "0000000 21 7a"
+-- 
+2.7.4
+
meta/recipes-core/busybox/busybox_1.29.2.bb +1 -0
index f38db2a..66049bd 100644
@@ -44,6 +44,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://0001-testsuite-check-uudecode-before-using-it.patch \
            file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
            file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
+           file://0001-testsuite-check-CONFIG_DESKTOP-before-using-od-t.patch \
 "
 SRC_URI_append_libc-musl = " file://musl.cfg "
 
Signature · 1 line
1.9.1
#7 lore raw

Re: [PATCH 6/8] busybox: remove three hostname test cases

In reply to Chen Qi
Quoted 5 lines · Chen Qi

These three test case are removed because of two reasons.
1) net-tools' hostname have different behaviour regarding some options So when net-tools is installed, test cases may fail. e.g.
test x$(hostname -i) = x$(busybox hostname -i)

This is just a specific instance of the problem where alternatives may not be what you want. The busybox test suite should be sure it's running busybox tools. Having spoken to a few people about this already, maybe busybox-ptest should contain a symlink farm for all the applets to the busybox binary that run-ptest can put at the front of $PATH.

Quoted 2 lines

2) hostname may set to some value, e.g. qemux86-64, which is not an entry in /etc/hosts This results in lookup failure when using `hostname -f' as there's no entry in /etc/hosts.

Let's fix the hostname setup so hosts is correct too.

Ross

#8 lore raw

Re: [PATCH 6/8] busybox: remove three hostname test cases

Quoted 7 lines · Ross
Quoted 5 lines · Chen Qi

These three test case are removed because of two reasons.
1) net-tools' hostname have different behaviour regarding some options So when net-tools is installed, test cases may fail. e.g.
test x$(hostname -i) = x$(busybox hostname -i)

Quoted 6 lines

This is just a specific instance of the problem where alternatives may not be what you want. The busybox test suite should be sure it's running busybox tools. Having spoken to a few people about this already, maybe busybox-ptest should contain a symlink farm for all the applets to the busybox binary that run-ptest can put at the front of $PATH.

Something like this:

https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=ross/mut&id=42ec5eaf3a6c512bffe03d20e7e512e8d87343ca

Example package contents at https://pastebin.com/5FpY9xyE

If run-ptest just puts that directory at the front of $PATH then you'll be sure to be run the busybox tool.

Bonus points for making that a function in update-alternatives.bbclass so every recipe with this problem can use it, but that would have to happen at do_package time because of how that class works so I'm happy enough with this for now.

Ross

author
#9 lore raw

Re: [PATCH 6/8] busybox: remove three hostname test cases

In reply to Burton, Ross
Quoted 6 lines · Ross
Quoted 5 lines · Chen Qi

These three test case are removed because of two reasons.
1) net-tools' hostname have different behaviour regarding some options

    So when net-tools is installed, test cases may fail.
    e.g.
    test x$(hostname -i) = x$(busybox hostname -i)
Quoted 6 lines

This is just a specific instance of the problem where alternatives may not be what you want. The busybox test suite should be sure it's running busybox tools. Having spoken to a few people about this already, maybe busybox-ptest should contain a symlink farm for all the applets to the busybox binary that run-ptest can put at the front of $PATH.

Very good idea! I'll try this out.

Quoted 3 lines
Quoted 2 lines

2) hostname may set to some value, e.g. qemux86-64, which is not an entry in /etc/hosts This results in lookup failure when using `hostname -f' as there's no entry in /etc/hosts.

Let's fix the hostname setup so hosts is correct too.

OK.
Currently, we set hostname to ${MACHINE}. To ensure it's also an entry in /etc/hosts, it seems that we have to default it to 'localhost'. I'm going to test with this change. If you have other candidates, please let me know.

Best Regards,
Chen Qi

Quoted 2 lines

Ross

#10 lore raw

Re: [PATCH 6/8] busybox: remove three hostname test cases

Quoted 9 lines · ChenQi
Quoted 3 lines
Quoted 2 lines

2) hostname may set to some value, e.g. qemux86-64, which is not an entry in /etc/hosts This results in lookup failure when using `hostname -f' as there's no entry in /etc/hosts.

Let's fix the hostname setup so hosts is correct too.

OK.
Currently, we set hostname to ${MACHINE}. To ensure it's also an entry in /etc/hosts, it seems that we have to default it to 'localhost'. I'm going to test with this change. If you have other candidates, please let me know.

What I mean is when we change hostname, we should update hosts so ${MACHINE} is an alias for localhost. Like my local machine has:

127.0.0.1 localhost
127.0.1.1 flashheart.burtonini.com flashheart

Ross