From The Linux Foundation
Revision as of 16:08, 20 December 2006 by Sbenedict@mandriva.com (Talk | contribs)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Assorted comments and experiences with LSB 3.1 testing. Note that comments about possible waivers are to be considered informal; the way to get a waiver granted is to file a problem report through the certification system. For instructions about installing and running these tests, see Platform_Tests

Note on maintaining this page: start by pasting test results from a given system which has an unknown failure. As analysis proceeds, migrate those raw results into an explanation; don't remove the problems. The idea is to have an in informal log of problems people might run into.


These tests may fail, and it is expected waivers will be granted:

libstdc++.so.6 3401 FAIL
libstdc++.so.6 3414 FAIL

These tests are likely to fail on an X.org 7.0 or later release, the LSB disposition of this failure is not yet determined:

libX11.so.6 478 FAIL
libX11.so.6 479 FAIL
libX11.so.6 480 FAIL
libX11.so.6 481 FAIL

The problem is four interfaces that have moved from libX11 to libXau: XauDisposeAuth, XauFileName, XauGetBestAuthByAddr, XauReadAuth. As written, the LSB 3.1 spec still requires these to be present in libX11. See bug 1330.



/tset/LI18NUX2K.L1/utils/cpio-fh/T.cpio-fh 5 FAIL
/tset/LI18NUX2K.L1/utils/cpio-fh/T.cpio-fh 6 FAIL
/tset/LI18NUX2K.L1/utils/cpio-fh/T.cpio-fh 7 FAIL

These failures occur with cpio 2.6. They are the result of a build system glitch in cpio, where the build system fails to properly detect the presence of the setlocale() function and disables it.

This patch to cpio will fix the problem:

--- cpio-2.6.orig/lib/system.h
+++ cpio-2.6/lib/system.h
@@ -474,9 +474,6 @@
 # include <locale.h>
-# define setlocale(category, locale) /* empty */

 #include <time.h>
 #if defined(HAVE_SYS_TIME_H) && defined(TIME_WITH_SYS_TIME)

Also see Debian bug 381348.

Catastrophic failures on Debian-based distributions

After an upgrade of the "locales" package on Debian, it's not unusual to see about 1000 new failures appear. Here's an example of a typical journal entry:

400|550 5 1 05:07:18|IC Start
200|550 5 05:07:18|TP Start
520|550 5 00005615 1 1|When this function applies for the domain whose name is
520|550 5 00005615 1 2|domainname several times, verify that the valid codeset
520|550 5 00005615 1 3|is the latter one.
520|550 5 00005615 1 4|
520|550 5 00005615 1 5|Cannot use test locale.
220|550 5 1 05:07:18|FAIL
410|550 5 1 05:07:18|IC End

One solution to this problem is to reinstall the lsb-runtime-tests package. Another is to do the following as root:

# rm /home/tet/test_sets/.configured
# /home/tet/test_sets/BIN/post_install.sh

The next time you run the tests, you'll be asked the configuration questions again; some of your previous answers will be remembered, and others won't be.

lsb-runtime-test on FC5

/tset/LI18NUX2K.L1/utils/cpio-fh/T.cpio-fh 5 FAIL
/tset/LI18NUX2K.L1/utils/cpio-fh/T.cpio-fh 6 FAIL
/tset/LI18NUX2K.L1/utils/cpio-fh/T.cpio-fh 7 FAIL
/tset/LI18NUX2K.L1/utils/sort/T.sort 7 FAIL
/tset/LI18NUX2K.L1/utils/sort/T.sort 23 FAIL
/tset/LI18NUX2K.L1/utils/sort/T.sort 39 FAIL
/tset/LSB.os/mfiles/msync_P/T.msync_P 7 FAIL
/tset/LSB.pam/testcases/pam_chauthtok/pam_chauthtok 1 FAIL
/tset/LSB.pam/testcases/pam_chauthtok/pam_chauthtok 2 FAIL
/tset/LSB.pam/testcases/pam_chauthtok/pam_chauthtok 8 FAIL
/tset/PTHR.os/procenv/ttyname_r/T.ttyname_r 2 FAIL

Test system: FC5/ia32
Test was run: 20060720 20:25:48
Test Suite Version: 3.1.0-6
Test Suite Architecture: (i386)
Total Tests Passed: 9848
Total Tests Failed (including waived): 11
Total Tests Failed (excluding waived): 11

lsb-runtime-test on Mandriva 2007.0, Cooker

/tset/LSB.os/mfiles/msync_P/T.msync_P 7 FAIL
/tset/PTHR.os/procenv/ttyname_r/T.ttyname_r 2 FAIL

relevant patches to glibc look to be be here: http://sourceware.org/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/ttyname_r.c.diff?r1=1.17&r2=1.18&cvsroot=glibc http://sourceware.org/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/ttyname.c.diff?r1=1.20&r2=1.21&cvsroot=glibc

patched glibc now passes T.ttyname_r 2:

--- libc/sysdeps/unix/sysv/linux/ttyname.c      2006/04/19 07:26:48     1.20
+++ libc/sysdeps/unix/sysv/linux/ttyname.c      2006/12/05 21:25:29     1.21
@@ -22,6 +22,7 @@
 #include <dirent.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <termios.h>
 #include <unistd.h>
 #include <string.h>
 #include <stdlib.h>
@@ -118,12 +119,12 @@
   int dostat = 0;
   char *name;
   int save = errno;
+  struct termios term;
-  if (__builtin_expect (!__isatty (fd), 0))
-    {
-      __set_errno (ENOTTY);
-      return NULL;
-    }
+  /* isatty check, tcgetattr is used because it sets the correct
+     errno (EBADF resp. ENOTTY) on error.  */
+  if (__builtin_expect (__tcgetattr (fd, &term) < 0, 0))
+    return NULL;
   /* We try using the /proc filesystem.  */
   *_fitoa_word (fd, __stpcpy (procname, "/proc/self/fd/"), 10, 0) = '\0';
--- libc/sysdeps/unix/sysv/linux/ttyname_r.c    2006/04/19 07:26:48     1.17
+++ libc/sysdeps/unix/sysv/linux/ttyname_r.c    2006/12/05 21:25:42     1.18
@@ -22,6 +22,7 @@
 #include <dirent.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <termios.h>
 #include <unistd.h>
 #include <string.h>
 #include <stdlib.h>
@@ -115,11 +116,11 @@
       return ERANGE;
-  if (__builtin_expect (!__isatty (fd), 0))
-    {
-      __set_errno (ENOTTY);
-      return ENOTTY;
-    }
+  /* isatty check, tcgetattr is used because it sets the correct
+     errno (EBADF resp. ENOTTY) on error.  */
+  struct termios term;
+  if (__builtin_expect (__tcgetattr (fd, &term) < 0, 0))
+    return errno;
   /* We try using the /proc filesystem.  */
   *_fitoa_word (fd, __stpcpy (procname, "/proc/self/fd/"), 10, 0) = '\0';



These tests may fail:

/tests/functions/FileUtil/FileUtil 10 FAIL
/tests/functions/FileUtil/FileUtil 11 FAIL
/tests/functions/FileUtil/FileUtil 12 FAIL
/tests/functions/FileUtil/FileUtil 13 FAIL
/tests/functions/FileUtil/FileUtil 14 FAIL

This problem usually occurs when lsb-desktop-test is installed from "su" (see bug 1429). If the - parameter is not given to su, the environment of the new user is not set up, which (among other things) adds the /sbin and /usr/sbin directories to the PATH. Then, when the lsb-desktop-test post-install script tries to add a user and group needed for the FileUtil tests, it calls "useradd" and "groupadd", which are not in the PATH, causing the commands to fail.

A quick fix is to just create the user:

# groupadd lsb-desktop
# useradd -g lsb-desktop lsb-desktop

Another is to reinstall the package while logged on as root, or using "su -" to switch to root.

As of this writing, a beta package fixing this problem is in testing.


XML_11 98 FAIL

These failures have been traced to bug fixes in libxml2 2.6.27; the upstream regression tests have been corrected to not fail.


The C++ tests are a binary instance of the tests in the libstdc++ subdirectory of gcc. These tests expect certain fonts to exist. LSB added some pre-test checks so that the absence of the fonts isn't discovered much later, when the test results are examined. Unfortunately, the mechanism for checking the fonts were present and worked has been broken by some upstream changes in the German (de_DE and de_DE@euro) locales. There's a patch for this but a new test suite has not been issued yet.

qmtest_libstdcpp on FC5

/24_iterators/istreambuf_iterator/2.cc 1 FAIL
/demangle/abi_examples/01.cc 1 FAIL
/demangle/abi_examples/02.cc 1 FAIL

Test system: FC5/ia32
Test was run: 20060721 12:09:18
Test Suite Version: 3.1
Test Suite Architecture: (i486)
Total Tests Passed: 1403
Total Tests Failed (including waived): 3
Total Tests Failed (excluding waived): 3


One message will come up on many test envionments:

FreeFontPath: FPE "/usr/share/X11/fonts/misc/" refcount is 2, should be 1; fixing.

If it appears, it will appear for every test, however the tests still run.

Font Paths

As noted in Platform_Tests the default font paths presented during the "interview questions" are appropriate for versions prior to X.org version 7, the purpose of the interview is to allow this to be changed, but experienced test users tend to get used to just accepting the defaults. If you do this and should not have, at least three tests will fail, including one of the "clsdsply" tests, and there will probably be an error message up front when Xvfb is started.

If you have already completed the interview and need to back out the wrong choice, you can cause it to rerun next time by removing the file: /opt/lsb/test/vsw4/.configured

To check what got set as font paths, do:

grep XT_FONTPATH /opt/lsb/test/vsw4/xtest/tetexec.cfg

lsb-vsw4 on Fedora Core 5

/tset/CH02/vndrrls/mvndrrls 1 FAIL
/tset/CH02/vndrrls/vndrrls 1 FAIL

details, mvndrrls 1 and vnddrls 1 (same error)

This is bug 1339

10|103 /tset/CH02/vndrrls/mvndrrls 15:50:27|TC Start, scenario ref 105-0, ICs: {all}
15|103 3.6-lite 1024|TCM Start
520|103 0 00004628 1 1|TRACE:NAME: VendorRelease
400|103 1 1 15:50:28|IC Start
200|103 1 15:50:28|TP Start
520|103 1 00004628 1 1|CHECK:VendorRelease-1  1, line 139
520|103 1 00004628 1 2|REPORT:VendorRelease() returned 70000000 instead one of 40201001:60700000.
220|103 1 1 15:50:28|FAIL
410|103 1 1 15:50:28|IC End