This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix tst-gettext{4,5}.sh


Hi!

The new intl testcases have 2 bugs:
1) they are not usable with make -jN N >= 2, as if tst-gettext{4,5}.sh
   are invoked at the same time, they can fail if both try to mkdir
   at the same time
2) they invoke the program through
   ${common_objpfx}elf/ld.so --library-path $common_objpfx
   but the program is linked against libpthread.so as well and
   $common_objpfx/nptl (resp. linuxthreads) is not in library path,
   so they use newly built libc.so and ld.so, but system libpthread.so.
   This of course doesn't often work at all.

2005-05-04  Jakub Jelinek  <jakub@redhat.com>

	* intl/Makefile (tst-gettext[45].out): Pass also $(run-program-prefix)
	as argument to the scripts.
	* intl/tst-gettext2.sh: Use mkdir -p instead of test -d + mkdir.
	* intl/tst-gettext4.sh: Likewise.  Use run_program_prefix argument.
	* intl/tst-gettext5.sh: Likewise.
	* intl/tst-translit.sh: Add mkdir -p.

--- libc/intl/Makefile.jj	2005-05-03 21:44:29.000000000 +0200
+++ libc/intl/Makefile	2005-05-04 09:56:34.000000000 +0200
@@ -87,9 +87,9 @@ $(objpfx)tst-codeset.out: tst-codeset.sh
 $(objpfx)tst-gettext3.out: tst-gettext3.sh $(objpfx)tst-gettext3
 	$(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
 $(objpfx)tst-gettext4.out: tst-gettext4.sh $(objpfx)tst-gettext4
-	$(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
+	$(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
 $(objpfx)tst-gettext5.out: tst-gettext5.sh $(objpfx)tst-gettext5
-	$(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
+	$(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
 endif
 endif
 
--- libc/intl/tst-gettext5.sh.jj	2005-04-28 17:47:36.000000000 +0200
+++ libc/intl/tst-gettext5.sh	2005-05-04 09:58:33.000000000 +0200
@@ -22,16 +22,14 @@
 # 02111-1307 USA.
 
 common_objpfx=$1
-objpfx=$2
+run_program_prefix=$2
+objpfx=$3
 
 LC_ALL=C
 export LC_ALL
 
-# Generate the test data.
-test -d ${objpfx}domaindir || mkdir ${objpfx}domaindir
 # Create the domain directories.
-test -d ${objpfx}domaindir/de_DE || mkdir ${objpfx}domaindir/de_DE
-test -d ${objpfx}domaindir/de_DE/LC_MESSAGES || mkdir ${objpfx}domaindir/de_DE/LC_MESSAGES
+mkdir -p ${objpfx}domaindir/de_DE/LC_MESSAGES
 # Populate them.
 msgfmt -o ${objpfx}domaindir/de_DE/LC_MESSAGES/codeset.mo tstcodeset.po
 
@@ -40,7 +38,6 @@ export GCONV_PATH
 LOCPATH=${common_objpfx}localedata
 export LOCPATH
 
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
-${objpfx}tst-gettext5 > ${objpfx}tst-gettext5.out
+${run_program_prefix} ${objpfx}tst-gettext5 > ${objpfx}tst-gettext5.out
 
 exit $?
--- libc/intl/tst-gettext4.sh.jj	2005-04-28 17:47:36.000000000 +0200
+++ libc/intl/tst-gettext4.sh	2005-05-04 09:58:09.000000000 +0200
@@ -21,18 +21,15 @@
 # 02111-1307 USA.
 
 common_objpfx=$1
-objpfx=$2
+run_program_prefix=$2
+objpfx=$3
 
 LC_ALL=C
 export LC_ALL
 
-# Generate the test data.
-test -d ${objpfx}domaindir || mkdir ${objpfx}domaindir
 # Create the domain directories.
-test -d ${objpfx}domaindir/de_DE || mkdir ${objpfx}domaindir/de_DE
-test -d ${objpfx}domaindir/de_DE/LC_MESSAGES || mkdir ${objpfx}domaindir/de_DE/LC_MESSAGES
-test -d ${objpfx}domaindir/fr_FR || mkdir ${objpfx}domaindir/fr_FR
-test -d ${objpfx}domaindir/fr_FR/LC_MESSAGES || mkdir ${objpfx}domaindir/fr_FR/LC_MESSAGES
+mkdir -p ${objpfx}domaindir/de_DE/LC_MESSAGES
+mkdir -p ${objpfx}domaindir/fr_FR/LC_MESSAGES
 # Populate them.
 msgfmt -o ${objpfx}domaindir/de_DE/LC_MESSAGES/multithread.mo tst-gettext4-de.po
 msgfmt -o ${objpfx}domaindir/fr_FR/LC_MESSAGES/multithread.mo tst-gettext4-fr.po
@@ -42,7 +39,6 @@ export GCONV_PATH
 LOCPATH=${common_objpfx}localedata
 export LOCPATH
 
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
-${objpfx}tst-gettext4 > ${objpfx}tst-gettext4.out
+${run_program_prefix} ${objpfx}tst-gettext4 > ${objpfx}tst-gettext4.out
 
 exit $?
--- libc/intl/tst-gettext2.sh.jj	2003-09-17 13:42:30.000000000 +0200
+++ libc/intl/tst-gettext2.sh	2005-05-04 09:44:38.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test of gettext functions.
-# Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2003, 2005 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 #
 
@@ -26,7 +26,7 @@ LC_ALL=C
 export LC_ALL
 
 # Generate the test data.
-test -d ${objpfx}domaindir || mkdir ${objpfx}domaindir
+mkdir -p ${objpfx}domaindir
 # Create the locale directories.
 test -d ${objpfx}domaindir/lang1 || {
   mkdir ${objpfx}domaindir/lang1
--- libc/intl/tst-translit.sh.jj	2002-04-06 07:08:21.000000000 +0200
+++ libc/intl/tst-translit.sh	2005-05-04 09:46:15.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test of transliteration in gettext functions.
-# Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2002, 2005 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 #
 
@@ -25,6 +25,9 @@ objpfx=$2
 LC_ALL=C
 export LC_ALL
 
+# Create the locale directories.
+mkdir -p ${objpfx}localedir/existing-locale/LC_MESSAGES
+
 msgfmt -o ${objpfx}domaindir/existing-locale/LC_MESSAGES/translit.mo \
        translit.po
 

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]