aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2009-07-17 17:37:52 -0700
committerJean-Baptiste Queru <jbq@google.com>2009-07-17 17:37:52 -0700
commit7c971b21cb09c84a9bd948bdf2918b727d46992c (patch)
tree01d4b6cdbaf19f87ed9ef9ec99954d9ba4f11356 /test
parent51cfa1a9a96cad34675a6415fe86dfdf3f525bb6 (diff)
downloadicu4c-7c971b21cb09c84a9bd948bdf2918b727d46992c.tar.gz
import cl @31437
Diffstat (limited to 'test')
-rw-r--r--test/Makefile84
-rw-r--r--test/cintltst/Makefile109
-rw-r--r--test/compat/Makefile75
-rw-r--r--[-rwxr-xr-x]test/compat/tzone.pl0
-rw-r--r--test/hdrtst/Makefile188
-rw-r--r--test/intltest/Makefile114
-rw-r--r--test/iotest/Makefile96
-rw-r--r--test/letest/Makefile105
-rw-r--r--[-rwxr-xr-x]test/perf/charperf/CharPerf.pl0
-rw-r--r--[-rwxr-xr-x]test/perf/collperf/CollPerf.pl0
-rw-r--r--[-rwxr-xr-x]test/perf/convperf/convperf_ansi.pl0
-rw-r--r--[-rwxr-xr-x]test/perf/convperf/convperf_iml.pl0
-rw-r--r--[-rwxr-xr-x]test/perf/normperf/NormPerf.pl0
-rw-r--r--[-rwxr-xr-x]test/perf/ubrkperf/UBrkPerf.pl0
-rw-r--r--[-rwxr-xr-x]test/perf/unisetperf/draft/contperf.bat0
-rw-r--r--[-rwxr-xr-x]test/perf/unisetperf/draft/contperf.sh0
-rw-r--r--[-rwxr-xr-x]test/perf/unisetperf/draft/span16perf.bat0
-rw-r--r--[-rwxr-xr-x]test/perf/unisetperf/draft/span16perf.sh0
-rw-r--r--[-rwxr-xr-x]test/perf/unisetperf/draft/span8perf.bat0
-rw-r--r--[-rwxr-xr-x]test/perf/unisetperf/draft/span8perf.sh0
-rw-r--r--[-rwxr-xr-x]test/perf/unisetperf/unisetperf.pl0
-rw-r--r--[-rwxr-xr-x]test/perf/usetperf/UsetPerf.pl0
-rw-r--r--[-rwxr-xr-x]test/perf/ustrperf/StringPerf.pl0
-rw-r--r--[-rwxr-xr-x]test/perf/utfperf/UtfPerf.pl0
-rw-r--r--test/testdata/Makefile220
-rw-r--r--test/testdata/pkgdata.inc20
26 files changed, 1011 insertions, 0 deletions
diff --git a/test/Makefile b/test/Makefile
new file mode 100644
index 00000000..2e55e913
--- /dev/null
+++ b/test/Makefile
@@ -0,0 +1,84 @@
+## Makefile.in for ICU tests
+## Copyright (c) 1999-2007, International Business Machines Corporation and
+## others. All Rights Reserved.
+
+## Source directory information
+srcdir = .
+top_srcdir = ..
+
+top_builddir = ..
+
+include $(top_builddir)/icudefs.mk
+
+## Build directory information
+subdir = test
+
+IOTEST = iotest
+
+## Files to remove for 'make clean'
+CLEANFILES = *~
+
+SUBDIRS = testdata intltest $(IOTEST) cintltst
+
+## List of phony targets
+.PHONY : everything all all-local all-recursive install install-local \
+install-recursive clean clean-local clean-recursive distclean \
+distclean-local distclean-recursive dist dist-recursive dist-local \
+check check-recursive check-local
+
+## Clear suffix list
+.SUFFIXES :
+
+## List of standard targets
+everything: all-recursive all-local
+all:
+ifneq ($(RECURSIVE),YES)
+ @echo simply use \`make\' \(or \`make everything\'\) to do all
+endif
+
+install: install-recursive install-local
+clean: clean-recursive clean-local
+distclean : distclean-recursive distclean-local
+ $(RMV) hdrtst/Makefile
+ $(RMV) perf/convperf/Makefile
+
+dist: dist-recursive dist-local
+check: everything check-recursive check-local
+check-recursive: all-recursive
+
+## Recursive targets
+all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive:
+ @dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-local"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $$local_target) || exit; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) "$$target-local" || exit; \
+ fi
+
+all-local:
+
+install-local:
+
+dist-local:
+
+clean-local:
+ test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
+
+distclean-local: clean-local
+ $(RMV) Makefile
+
+check-local: all-local
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
diff --git a/test/cintltst/Makefile b/test/cintltst/Makefile
new file mode 100644
index 00000000..fd486cf0
--- /dev/null
+++ b/test/cintltst/Makefile
@@ -0,0 +1,109 @@
+#******************************************************************************
+#
+# Copyright (C) 1999-2006, International Business Machines
+# Corporation and others. All Rights Reserved.
+#
+#******************************************************************************
+## Makefile.in for ICU - test/cintltst
+
+## Source directory information
+srcdir = .
+top_srcdir = ../..
+
+top_builddir = ../..
+
+## All the flags and other definitions are included here.
+include $(top_builddir)/icudefs.mk
+
+## Build directory information
+subdir = test/cintltst
+
+## Extra files to remove for 'make clean'
+CLEANFILES = *~ $(DEPS)
+
+## Target information
+TARGET = cintltst$(EXEEXT)
+
+BUILDDIR := $(CURR_SRCCODE_FULL_DIR)/../../
+# Simplify the path for Unix
+BUILDDIR := $(BUILDDIR:test/cintltst/../../=)
+# Simplify the path for Windows
+BUILDDIR := $(BUILDDIR:test\\cintltst/../../=)
+# Simplify the path for Windows 98
+BUILDDIR := $(BUILDDIR:TEST\\CINTLTST/../../=)
+
+ifneq ($(top_builddir),$(top_srcdir))
+CPPFLAGS += -I$(top_builddir)/common
+endif
+# we define ICU_UNICODE_VERSION so we can test it
+CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/tools/toolutil
+DEFS += -D'ICU_UNICODE_VERSION="$(UNICODE_VERSION)"' -D'ICU_VERSION="3.8"' -D'ICUDATA_NAME="$(ICUDATA_PLATFORM_NAME)"' -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"'
+LIBS = $(LIBCTESTFW) $(LIBICUI18N) $(LIBICUUC) $(LIBICUTOOLUTIL) $(DEFAULT_LIBS) $(LIB_M)
+
+OBJECTS = callcoll.o calltest.o colutil.o capitst.o cbiapts.o cbkittst.o \
+ccaltst.o cctest.o ccapitst.o ccolltst.o encoll.o cconvtst.o ccurrtst.o \
+cdattst.o cdetst.o cdtdptst.o cdtrgtst.o cestst.o cfintst.o cformtst.o \
+cfrtst.o cg7coll.o chashtst.o cintltst.o citertst.o cjaptst.o cloctst.o \
+cmsccoll.o cmsgtst.o cposxtst.o cldrtest.o \
+cnmdptst.o cnormtst.o cnumtst.o crestst.o creststn.o cturtst.o \
+cucdapi.o cucdtst.o custrtst.o cstrcase.o cutiltst.o nucnvtst.o nccbtst.o bocu1tst.o \
+cbiditst.o cbididat.o eurocreg.o udatatst.o utf16tst.o utransts.o \
+ncnvfbts.o ncnvtst.o putiltst.o cstrtest.o udatpg_test.o utf8tst.o \
+stdnmtst.o usrchtst.o custrtrn.o sorttest.o trietest.o usettest.o \
+uenumtst.o utmstest.o currtest.o \
+idnatest.o nfsprep.o spreptst.o sprpdata.o \
+hpmufn.o tracetst.o reapits.o utexttst.o ucsdetst.o
+
+DEPS = $(OBJECTS:.o=.d)
+
+-include Makefile.local
+
+## List of phony targets
+.PHONY : all all-local install install-local clean clean-local \
+distclean distclean-local dist dist-local check check-local
+
+## Clear suffix list
+.SUFFIXES :
+
+## List of standard targets
+all: all-local
+install: install-local
+clean: clean-local
+distclean : distclean-local
+dist: dist-local
+check: all check-local
+
+all-local: $(TARGET)
+
+install-local:
+
+dist-local:
+
+clean-local:
+ test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
+ $(RMV) $(OBJECTS) $(TARGET)
+
+distclean-local: clean-local
+ $(RMV) Makefile
+
+check-local: all-local
+ $(INVOKE) ./$(TARGET) $(CINTLTST_OPTS)
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(TARGET) : $(OBJECTS)
+ $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
+ $(POST_BUILD_STEP)
+
+ifeq (,$(MAKECMDGOALS))
+-include $(DEPS)
+else
+ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
+ifneq ($(patsubst %install,,$(MAKECMDGOALS)),)
+-include $(DEPS)
+endif
+endif
+endif
+
diff --git a/test/compat/Makefile b/test/compat/Makefile
new file mode 100644
index 00000000..d8655e30
--- /dev/null
+++ b/test/compat/Makefile
@@ -0,0 +1,75 @@
+## Makefile.in for ICU - samples/tzdate
+## Copyright (c) 1999-2007, International Business Machines Corporation and
+## others. All Rights Reserved.
+
+## Source directory information
+
+srcdir=.
+top_srcdir=../..
+
+top_builddir = ../..
+
+include $(top_builddir)/icudefs.mk
+
+## Build directory information
+subdir = test/compat
+
+## Extra files to remove for 'make clean'
+CLEANFILES = *~ $(DEPS)
+
+## Target information
+TARGET = tzdate$(EXEEXT)
+
+CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n
+LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
+
+OBJECTS = tzdate.o
+
+DEPS = $(OBJECTS:.o=.d)
+
+## List of phony targets
+.PHONY : all all-local install install-local clean clean-local \
+distclean distclean-local dist dist-local check check-local
+
+## Clear suffix list
+.SUFFIXES :
+
+## List of standard targets
+all: all-local
+install: install-local
+clean: clean-local
+distclean : distclean-local
+dist: dist-local
+check: all check-local
+
+all-local: $(TARGET)
+
+install-local: all-local
+
+dist-local:
+
+clean-local:
+ test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
+ $(RMV) $(OBJECTS) $(TARGET)
+
+distclean-local: clean-local
+ $(RMV) Makefile
+
+check-local:
+ -$(INVOKE) ./$(TARGET) $(TZDATE_OPTS)
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(TARGET) : $(OBJECTS)
+ $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
+ $(POST_BUILD_STEP)
+
+ifeq (,$(MAKECMDGOALS))
+-include $(DEPS)
+else
+ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
+-include $(DEPS)
+endif
+endif
diff --git a/test/compat/tzone.pl b/test/compat/tzone.pl
index 583c9812..583c9812 100755..100644
--- a/test/compat/tzone.pl
+++ b/test/compat/tzone.pl
diff --git a/test/hdrtst/Makefile b/test/hdrtst/Makefile
new file mode 100644
index 00000000..fa2630d7
--- /dev/null
+++ b/test/hdrtst/Makefile
@@ -0,0 +1,188 @@
+##
+## Copyright (c) 1999-2006, International Business Machines Corporation and
+## others. All Rights Reserved.
+##
+##
+## THE PURPOSE OF THIS TEST
+##
+## This tests all public header files (
+##
+## To run it simply type 'make check'. You SHOULD see:
+##
+## unicode/uchar.h - 0
+## unicode/uchriter.h - 0
+## unicode/ucnv.h - 0
+##
+## .. etc. Anything other than zero is an error. (except for the deprecation tests, where '1' is the correct value)
+##
+##
+## If a header fails the C compile because it's a C++ header, add it to the
+## file named 'cxxfiles.txt' in this directory.
+##
+## If a header fails because it is deprecated, add it to the 'dfiles.txt'
+##
+##
+
+
+include $(shell icu-config --incfile)
+srcdir=.
+DIRS=$(prefix)/include/unicode
+LDIRS=$(prefix)/include/layout
+
+all:
+ @echo Please read this Makefile for more information.
+ @echo run \'$(MAKE) check\' to run the test
+
+check: dtest ctest cpptest lotest doclean drafttest deprtest internaltest obsoletetest
+ @echo "All header tests have finished. If deprecation #errors appeared, "
+ @echo " add files to hdrtst/dfiles.txt"
+ @echo "#################################################################"
+ @echo
+
+# break dependency
+doclean:
+ make clean
+
+cpptest:
+ @echo "C++ test #######################################################"
+ @rm -f Makefile.sub
+ @echo 'Testing all header files under C++'
+ @echo 'the number after the hyphen (-) refers to the exit code - should be zero!'
+ @for file in `ls $(prefix)/include/unicode/*.h | fgrep -v -f $(srcdir)/pfiles.txt`; do \
+ incfile=`basename $$file .h` ; \
+ echo -n "C++ unicode/$$incfile.h - " ; \
+ echo '#include "'unicode/$$incfile'.h"' > ht_$$incfile.cpp ; \
+ echo 'void junk(){}' >> ht_$$incfile.cpp ; \
+ $(COMPILE.cc) -c $(cppflags) ht_$$incfile.cpp ; \
+ echo $$? ; \
+ done
+
+lotest:
+ @echo "Layout test #######################################################"
+ @rm -f Makefile.sub
+ @echo 'Testing all layout files under C++'
+ @echo 'the number after the hyphen (-) refers to the exit code - should be zero!'
+ @for file in $(prefix)/include/layout/*.h; do \
+ incfile=`basename $$file .h` ; \
+ echo -n "C++ layout/$$incfile.h - " ; \
+ echo '#include "'layout/$$incfile'.h"' > ht_$$incfile.cpp ; \
+ echo 'void junk(){}' >> ht_$$incfile.cpp ; \
+ $(COMPILE.cc) -c $(cppflags) -I$(prefix)/include/layout ht_$$incfile.cpp ; \
+ echo $$? ; \
+ done
+
+dtest:
+ @rm -f Makefile.sub
+ @echo "Deprecation #######################################################"
+ @echo 'Should be 1 in each case if file is properly obsoleted.'
+ @for stub in `cat $(srcdir)/dfiles.txt | grep -v '^#'` ; do \
+ file=unicode/$$stub \
+ incfile=`basename $$file .h` ; \
+ echo -n "C++ unicode/$$incfile.h - " ; \
+ echo '#include "'unicode/$$incfile'.h"' > ht_$$incfile.cpp ; \
+ echo 'void junk(){}' >> ht_$$incfile.cpp ; \
+ echo > ht_dep.junk ; \
+ $(COMPILE.cc) -c $(cppflags) ht_$$incfile.cpp 2>&1 | sed -e 's/^.*#error[^"]*"//' | fgrep -v ht_ | tee ht_dep.junk | fgrep -v "$$incfile.h header is obsolete" ; \
+ RES=$$? ; \
+ echo $$RES ; \
+ fgrep -q "$$incfile.h header is obsolete" ht_dep.junk || echo "** FAIL Header unicode/$$incfile.h is not obsoleted properly" ; \
+ rm -f unicode/$$stub ; \
+ done
+
+# < ht_dep.junk && ; \
+
+
+ctest:
+ @echo "C Test #######################################################"
+ @echo " (if any C++ files show up here, stop the test and add them to hdrtst/cxxfiles.txt) "
+ @rm -f Makefile.sub
+ @echo Building test harness for header files in ../../common and ../../i18n
+ @echo 'the number after the hyphen (-) refers to the exit code - should be zero!'
+ @for file in `ls $(prefix)/include/unicode/*.h | fgrep -v -f $(srcdir)/cxxfiles.txt | tee cfiles.txt`; do \
+ incfile=`basename $$file .h` ; \
+ echo -n "C unicode/$$incfile.h - " ; \
+ echo '#include "'unicode/$$incfile'.h"' > ht_$$incfile.c ; \
+ echo 'void junk(void);' >> ht_$$incfile.c ; \
+ echo 'void junk(){}' >> ht_$$incfile.c ; \
+ $(COMPILE.c) -c $(cppflags) ht_$$incfile.c ; \
+ RES=$$? ; \
+ echo $$RES ; \
+ done
+
+drafttest:
+ @echo "U_HIDE_DRAFT_API Test #######################################################"
+ @rm -f Makefile.sub
+ @echo Building test harness for header files in ../../common and ../../i18n
+ @echo 'the number after the hyphen (-) refers to the exit code - should be zero!'
+ @for file in `ls $(prefix)/include/unicode/*.h | fgrep -v -f $(srcdir)/pfiles.txt`; do \
+ incfile=`basename $$file .h` ; \
+ echo -n " unicode/$$incfile.h - " ; \
+ echo '#define U_HIDE_DRAFT_API' > hd_$$incfile.c; \
+ echo '#include "'unicode/$$incfile'.h"' >> ht_$$incfile.c ; \
+ echo 'void junk(void);' >> hd_$$incfile.c ; \
+ echo 'void junk(){}' >> hd_$$incfile.c ; \
+ $(COMPILE.cc) -c $(cppflags) hd_$$incfile.c ; \
+ RES=$$? ; \
+ echo $$RES ; \
+ done
+
+deprtest:
+ @echo "U_HIDE_DEPRECATED_API Test #######################################################"
+ @rm -f Makefile.sub
+ @echo Building test harness for header files in ../../common and ../../i18n
+ @echo 'the number after the hyphen (-) refers to the exit code - should be zero!'
+ @for file in `ls $(prefix)/include/unicode/*.h | fgrep -v -f $(srcdir)/pfiles.txt`; do \
+ incfile=`basename $$file .h` ; \
+ echo -n " unicode/$$incfile.h - " ; \
+ echo '#define U_HIDE_DEPRECATED_API' > hdp_$$incfile.c; \
+ echo '#include "'unicode/$$incfile'.h"' >> hdp_$$incfile.c ; \
+ echo 'void junk(void);' >> hdp_$$incfile.c ; \
+ echo 'void junk(){}' >> hdp_$$incfile.c ; \
+ $(COMPILE.cc) -c $(cppflags) hdp_$$incfile.c ; \
+ RES=$$? ; \
+ echo $$RES ; \
+ done
+
+internaltest:
+ @echo "U_HIDE_INTERNAL_API Test #######################################################"
+ @rm -f Makefile.sub
+ @echo Building test harness for header files in ../../common and ../../i18n
+ @echo 'the number after the hyphen (-) refers to the exit code - should be zero!'
+ @for file in `ls $(prefix)/include/unicode/*.h | fgrep -v -f $(srcdir)/pfiles.txt`; do \
+ incfile=`basename $$file .h` ; \
+ echo -n " unicode/$$incfile.h - " ; \
+ echo '#define U_HIDE_INTERNAL_API' > hin_$$incfile.c; \
+ echo '#include "'unicode/$$incfile'.h"' >> hin_$$incfile.c ; \
+ echo 'void junk(void);' >> hin_$$incfile.c ; \
+ echo 'void junk(){}' >> hin_$$incfile.c ; \
+ $(COMPILE.cc) -c $(cppflags) hin_$$incfile.c ; \
+ RES=$$? ; \
+ echo $$RES ; \
+ done
+
+obsoletetest:
+ @echo "U_HIDE_OBSOLETE_API Test #######################################################"
+ @rm -f Makefile.sub
+ @echo Building test harness for header files in ../../common and ../../i18n
+ @echo 'the number after the hyphen (-) refers to the exit code - should be zero!'
+ @for file in `ls $(prefix)/include/unicode/*.h | fgrep -v -f $(srcdir)/pfiles.txt`; do \
+ incfile=`basename $$file .h` ; \
+ echo -n " unicode/$$incfile.h - " ; \
+ echo '#define U_HIDE_OBSOLETE_API' > hob_$$incfile.c; \
+ echo '#include "'unicode/$$incfile'.h"' >> hob_$$incfile.c ; \
+ echo 'void junk(void);' >> hob_$$incfile.c ; \
+ echo 'void junk(){}' >> hob_$$incfile.c ; \
+ $(COMPILE.cc) -c $(cppflags) hob_$$incfile.c ; \
+ RES=$$? ; \
+ echo $$RES ; \
+ done
+
+clean:
+ -@rm -f *.h *.c *.cpp *.o *.junk
+
+distclean: clean
+ -@rm -f Makefile
+
+
+.PHONY: doclean check all cpptest lotest dtest ctest clean distclean
+
diff --git a/test/intltest/Makefile b/test/intltest/Makefile
new file mode 100644
index 00000000..4381a0d8
--- /dev/null
+++ b/test/intltest/Makefile
@@ -0,0 +1,114 @@
+#******************************************************************************
+#
+# Copyright (C) 1999-2007, International Business Machines
+# Corporation and others. All Rights Reserved.
+#
+#******************************************************************************
+## Makefile.in for ICU - test/intltest
+
+## Source directory information
+srcdir = .
+top_srcdir = ../..
+
+top_builddir = ../..
+
+## All the flags and other definitions are included here.
+include $(top_builddir)/icudefs.mk
+
+## Build directory information
+subdir = test/intltest
+
+## Extra files to remove for 'make clean'
+CLEANFILES = *~ $(DEPS)
+
+## Target information
+TARGET = intltest$(EXEEXT)
+
+BUILDDIR := $(CURR_SRCCODE_FULL_DIR)/../../
+# Simplify the path for Unix
+BUILDDIR := $(BUILDDIR:test/intltest/../../=)
+# Simplify the path for Windows
+BUILDDIR := $(BUILDDIR:test\\intltest/../../=)
+# Simplify the path for Windows 98
+BUILDDIR := $(BUILDDIR:TEST\\INTLTEST/../../=)
+
+ifneq ($(top_builddir),$(top_srcdir))
+CPPFLAGS += -I$(top_builddir)/common
+endif
+CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/toolutil -I$(top_srcdir)/tools/ctestfw
+DEFS += -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"'
+LIBS = $(LIBCTESTFW) $(LIBICUI18N) $(LIBICUUC) $(LIBICUTOOLUTIL) $(DEFAULT_LIBS) $(LIB_M) $(LIB_THREAD)
+
+OBJECTS = aliastst.o allcoll.o apicoll.o astrotst.o callimts.o calregts.o caltest.o \
+caltztst.o canittst.o citrtest.o cntabcol.o convtest.o currcoll.o \
+fldset.o dadrfmt.o dadrcal.o dadrcoll.o dcfmapts.o decoll.o dtfmapts.o dtfmrgts.o dtfmtrtts.o dtfmttst.o \
+dtptngts.o encoll.o escoll.o ficoll.o frcoll.o g7coll.o intltest.o \
+itercoll.o itformat.o itmajor.o itutil.o jacoll.o lcukocol.o \
+loctest.o miscdtfm.o mnkytst.o msfmrgts.o nmfmapts.o nmfmtrt.o \
+numfmtst.o numrgts.o pptest.o regcoll.o restest.o restsnew.o \
+sdtfmtts.o svccoll.o tchcfmt.o \
+tfsmalls.o tmsgfmt.o trcoll.o tscoll.o tsdate.o tsdcfmsy.o tsdtfmsy.o \
+tsmthred.o tsnmfmt.o tsputil.o tstnrapi.o tstnorm.o tzbdtest.o \
+tzregts.o tztest.o ucdtest.o usettest.o ustrtest.o strcase.o transtst.o strtest.o thcoll.o \
+itrbbi.o rbbiapts.o rbbitst.o ittrans.o transapi.o cpdtrtst.o \
+testutil.o transrt.o trnserr.o normconf.o sfwdchit.o \
+jamotest.o srchtest.o reptest.o regextst.o \
+itrbnf.o itrbnfrt.o itrbnfp.o ucaconf.o icusvtst.o \
+uobjtest.o idnaref.o idnaconf.o nptrans.o punyref.o testidn.o testidna.o incaltst.o \
+calcasts.o v32test.o uvectest.o textfile.o tokiter.o utxttest.o \
+windttst.o winnmtst.o winutil.o csdetest.o tzrulets.o
+
+
+DEPS = $(OBJECTS:.o=.d)
+
+-include Makefile.local
+
+## List of phony targets
+.PHONY : all all-local install install-local clean clean-local \
+distclean distclean-local dist dist-local check check-local
+
+## Clear suffix list
+.SUFFIXES :
+
+## List of standard targets
+all: all-local
+install: install-local
+clean: clean-local
+distclean : distclean-local
+dist: dist-local
+check: all check-local
+
+all-local: $(TARGET)
+
+install-local:
+
+dist-local:
+
+clean-local:
+ test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
+ $(RMV) $(OBJECTS) $(TARGET)
+
+distclean-local: clean-local
+ $(RMV) Makefile
+
+check-local: all-local
+ $(INVOKE) ./$(TARGET) $(INTLTEST_OPTS) || true
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(TARGET) : $(OBJECTS)
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
+ $(POST_BUILD_STEP)
+
+ifeq (,$(MAKECMDGOALS))
+-include $(DEPS)
+else
+ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
+ifneq ($(patsubst %install,,$(MAKECMDGOALS)),)
+-include $(DEPS)
+endif
+endif
+endif
+
diff --git a/test/iotest/Makefile b/test/iotest/Makefile
new file mode 100644
index 00000000..5bae0935
--- /dev/null
+++ b/test/iotest/Makefile
@@ -0,0 +1,96 @@
+#******************************************************************************
+#
+# Copyright (C) 1999-2005, International Business Machines
+# Corporation and others. All Rights Reserved.
+#
+#******************************************************************************
+## Makefile.in for ICU - test/iotest
+
+## Source directory information
+srcdir = .
+top_srcdir = ../..
+
+top_builddir = ../..
+
+## All the flags and other definitions are included here.
+include $(top_builddir)/icudefs.mk
+
+## Build directory information
+subdir = test/iotest
+
+## Extra files to remove for 'make clean'
+CLEANFILES = *~ $(DEPS)
+
+## Target information
+TARGET = iotest$(EXEEXT)
+
+BUILDDIR := $(CURR_SRCCODE_FULL_DIR)/../../
+# Simplify the path for Unix
+BUILDDIR := $(BUILDDIR:test/iotest/../../=)
+# Simplify the path for Windows
+BUILDDIR := $(BUILDDIR:test\\iotest/../../=)
+# Simplify the path for Windows 98
+BUILDDIR := $(BUILDDIR:TEST\\IOTEST/../../=)
+
+ifneq ($(top_builddir),$(top_srcdir))
+CPPFLAGS += -I$(top_builddir)/common
+endif
+CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/io
+DEFS += -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"'
+LIBS = $(LIBCTESTFW) $(LIBICUTOOLUTIL) $(LIBICUIO) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
+
+OBJECTS = iotest.o stream.o strtst.o filetst.o trnstst.o
+
+DEPS = $(OBJECTS:.o=.d)
+
+-include Makefile.local
+
+## List of phony targets
+.PHONY : all all-local install install-local clean clean-local \
+distclean distclean-local dist dist-local check check-local
+
+## Clear suffix list
+.SUFFIXES :
+
+## List of standard targets
+all: all-local
+install: install-local
+clean: clean-local
+distclean : distclean-local
+dist: dist-local
+check: all check-local
+
+all-local: $(TARGET)
+
+install-local:
+
+dist-local:
+
+clean-local:
+ test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
+ $(RMV) $(OBJECTS) $(TARGET)
+
+distclean-local: clean-local
+ $(RMV) Makefile
+
+check-local: all-local
+ $(INVOKE) ./$(TARGET) $(IOTEST_OPTS) || true
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(TARGET) : $(OBJECTS)
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
+ $(POST_BUILD_STEP)
+
+ifeq (,$(MAKECMDGOALS))
+-include $(DEPS)
+else
+ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
+ifneq ($(patsubst %install,,$(MAKECMDGOALS)),)
+-include $(DEPS)
+endif
+endif
+endif
+
diff --git a/test/letest/Makefile b/test/letest/Makefile
new file mode 100644
index 00000000..df712b36
--- /dev/null
+++ b/test/letest/Makefile
@@ -0,0 +1,105 @@
+## Makefile.in for ICU - test/letest
+## Copyright (c) 2001-2007, International Business Machines Corporation and
+## others. All Rights Reserved.
+
+## Source directory information
+srcdir = .
+top_srcdir = ../..
+
+top_builddir = ../..
+
+include $(top_builddir)/icudefs.mk
+
+## Platform-specific setup
+include $(top_srcdir)/config/mh-linux
+
+## Build directory information
+subdir = test/letest
+
+## Extra files to remove for 'make clean'
+CLEANFILES = *~ $(DEPS)
+
+## Target information
+TESTTARGET = letest
+GENTARGET = gendata
+
+BUILDDIR := $(CURR_SRCCODE_FULL_DIR)/../../
+# Simplify the path for Unix
+BUILDDIR := $(BUILDDIR:test/cintltst/../../=)
+# Simplify the path for Windows
+BUILDDIR := $(BUILDDIR:test\\cintltst/../../=)
+# Simplify the path for Windows 98
+BUILDDIR := $(BUILDDIR:TEST\\CINTLTST/../../=)
+
+ifneq ($(top_builddir),$(top_srcdir))
+CPPFLAGS += -I$(top_builddir)/common
+endif
+
+CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/tools/toolutil -I$(top_srcdir)/layout -I$(top_srcdir)
+DEFS += -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"'
+LIBS = $(LIBICULE) $(LIBICUUC) $(LIBICUI18N) $(LIBCTESTFW) $(LIBICUTOOLUTIL) -lpthread -lm
+
+COMMONOBJECTS = letsutil.o cmaps.o FontTableCache.o SimpleFontInstance.o PortableFontInstance.o
+TESTOBJECTS = letest.o
+CTESTOBJECTS = cfonts.o xmlreader.o cletest.o
+GENOBJECTS = gendata.o
+
+OBJECTS = $(COMMONOBJECTS) $(TESTOBJECTS) $(GENOBJECTS)
+
+DEPS = $(OBJECTS:.o=.d)
+
+## List of phony targets
+.PHONY : all all-local install install-local clean clean-local \
+distclean distclean-local dist dist-local check check-local
+
+## Clear suffix list
+.SUFFIXES :
+
+## List of standard targets
+all: all-local
+install: install-local
+clean: clean-local
+distclean : distclean-local
+dist: dist-local
+check: all check-local
+
+all-local: $(TESTTARGET)
+
+install-local:
+
+dist-local:
+
+clean-local:
+ test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
+ $(RMV) $(COMMONOBJECTS) $(TESTOBJECTS) $(CTESTOBJECTS) $(GENOBJECTS) $(TARGET)
+
+distclean-local: clean-local
+ $(RMV) Makefile
+
+check-local: all-local
+ $(INVOKE) ./$(TESTTARGET)
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(TESTTARGET) : $(COMMONOBJECTS) $(TESTOBJECTS) $(CTESTOBJECTS)
+ $(LINK.cc) -o $@ $^ $(LIBS)
+ $(POST_BUILD_STEP)
+
+$(GENTARGET) : $(COMMONOBJECTS) $(GENOBJECTS)
+ $(LINK.cc) -o $@ $^ $(LIBS)
+ $(POST_BUILD_STEP)
+
+invoke:
+ ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)
+
+ifeq (,$(MAKECMDGOALS))
+-include $(DEPS)
+else
+ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
+ifneq ($(patsubst %install,,$(MAKECMDGOALS)),)
+-include $(DEPS)
+endif
+endif
+endif
diff --git a/test/perf/charperf/CharPerf.pl b/test/perf/charperf/CharPerf.pl
index ef5e1cf2..ef5e1cf2 100755..100644
--- a/test/perf/charperf/CharPerf.pl
+++ b/test/perf/charperf/CharPerf.pl
diff --git a/test/perf/collperf/CollPerf.pl b/test/perf/collperf/CollPerf.pl
index 78c69f35..78c69f35 100755..100644
--- a/test/perf/collperf/CollPerf.pl
+++ b/test/perf/collperf/CollPerf.pl
diff --git a/test/perf/convperf/convperf_ansi.pl b/test/perf/convperf/convperf_ansi.pl
index 691a21f6..691a21f6 100755..100644
--- a/test/perf/convperf/convperf_ansi.pl
+++ b/test/perf/convperf/convperf_ansi.pl
diff --git a/test/perf/convperf/convperf_iml.pl b/test/perf/convperf/convperf_iml.pl
index 194a1cce..194a1cce 100755..100644
--- a/test/perf/convperf/convperf_iml.pl
+++ b/test/perf/convperf/convperf_iml.pl
diff --git a/test/perf/normperf/NormPerf.pl b/test/perf/normperf/NormPerf.pl
index 2f8df8c0..2f8df8c0 100755..100644
--- a/test/perf/normperf/NormPerf.pl
+++ b/test/perf/normperf/NormPerf.pl
diff --git a/test/perf/ubrkperf/UBrkPerf.pl b/test/perf/ubrkperf/UBrkPerf.pl
index 4971ecf6..4971ecf6 100755..100644
--- a/test/perf/ubrkperf/UBrkPerf.pl
+++ b/test/perf/ubrkperf/UBrkPerf.pl
diff --git a/test/perf/unisetperf/draft/contperf.bat b/test/perf/unisetperf/draft/contperf.bat
index 9ba8ea4e..9ba8ea4e 100755..100644
--- a/test/perf/unisetperf/draft/contperf.bat
+++ b/test/perf/unisetperf/draft/contperf.bat
diff --git a/test/perf/unisetperf/draft/contperf.sh b/test/perf/unisetperf/draft/contperf.sh
index 027897ef..027897ef 100755..100644
--- a/test/perf/unisetperf/draft/contperf.sh
+++ b/test/perf/unisetperf/draft/contperf.sh
diff --git a/test/perf/unisetperf/draft/span16perf.bat b/test/perf/unisetperf/draft/span16perf.bat
index f67cdb26..f67cdb26 100755..100644
--- a/test/perf/unisetperf/draft/span16perf.bat
+++ b/test/perf/unisetperf/draft/span16perf.bat
diff --git a/test/perf/unisetperf/draft/span16perf.sh b/test/perf/unisetperf/draft/span16perf.sh
index 8a647e31..8a647e31 100755..100644
--- a/test/perf/unisetperf/draft/span16perf.sh
+++ b/test/perf/unisetperf/draft/span16perf.sh
diff --git a/test/perf/unisetperf/draft/span8perf.bat b/test/perf/unisetperf/draft/span8perf.bat
index 611eaf63..611eaf63 100755..100644
--- a/test/perf/unisetperf/draft/span8perf.bat
+++ b/test/perf/unisetperf/draft/span8perf.bat
diff --git a/test/perf/unisetperf/draft/span8perf.sh b/test/perf/unisetperf/draft/span8perf.sh
index b508320c..b508320c 100755..100644
--- a/test/perf/unisetperf/draft/span8perf.sh
+++ b/test/perf/unisetperf/draft/span8perf.sh
diff --git a/test/perf/unisetperf/unisetperf.pl b/test/perf/unisetperf/unisetperf.pl
index 18f83b8e..18f83b8e 100755..100644
--- a/test/perf/unisetperf/unisetperf.pl
+++ b/test/perf/unisetperf/unisetperf.pl
diff --git a/test/perf/usetperf/UsetPerf.pl b/test/perf/usetperf/UsetPerf.pl
index 8c493806..8c493806 100755..100644
--- a/test/perf/usetperf/UsetPerf.pl
+++ b/test/perf/usetperf/UsetPerf.pl
diff --git a/test/perf/ustrperf/StringPerf.pl b/test/perf/ustrperf/StringPerf.pl
index 02cde457..02cde457 100755..100644
--- a/test/perf/ustrperf/StringPerf.pl
+++ b/test/perf/ustrperf/StringPerf.pl
diff --git a/test/perf/utfperf/UtfPerf.pl b/test/perf/utfperf/UtfPerf.pl
index 0c7ff961..0c7ff961 100755..100644
--- a/test/perf/utfperf/UtfPerf.pl
+++ b/test/perf/utfperf/UtfPerf.pl
diff --git a/test/testdata/Makefile b/test/testdata/Makefile
new file mode 100644
index 00000000..04d4ea71
--- /dev/null
+++ b/test/testdata/Makefile
@@ -0,0 +1,220 @@
+#******************************************************************************
+#
+# Copyright (C) 1998-2007, International Business Machines
+# Corporation and others. All Rights Reserved.
+#
+#******************************************************************************
+## Top-level Makefile.in for ICU
+## Stephen F. Booth
+
+## Source directory information
+srcdir = .
+top_srcdir = ../..
+
+top_builddir = ../..
+
+include $(top_builddir)/icudefs.mk
+
+## Build directory information
+subdir = test/testdata
+
+## Files to remove for 'make clean'
+CLEANFILES = *~
+
+SUBDIRS =
+
+## List of phony targets
+.PHONY : all all-local all-recursive install install-local \
+install-recursive clean clean-local clean-recursive distclean \
+distclean-local distclean-recursive doc dist dist-local dist-recursive \
+check check-local check-recursive build-dir java-output
+
+.NOTPARALLEL: build-dir
+
+## Clear suffix list
+.SUFFIXES :
+
+## List of standard targets
+all: all-local
+install: install-local
+clean: clean-local
+distclean : distclean-local
+dist: dist-local
+check: all check-local
+
+all-local: build-dir build-testdata testdata packagetest
+
+install-local:
+
+dist-local:
+
+clean-local:
+ test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
+ $(RMV) $(TESTOUTDIR)
+
+distclean-local: clean-local
+ $(RMV) Makefile pkgdata.inc
+
+check-local:
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+pkgdata.inc: $(srcdir)/pkgdata.inc.in Makefile $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+#########################################################################
+############################## Test ## stuff ############################
+
+ifeq ($(PKGDATA_OPTS),)
+PKGDATA_OPTS = -O $(top_builddir)/test/testdata/pkgdata.inc
+endif
+
+# relative lib links from pkgdata are the same as for tmp
+GENRBOPTS=-k
+TOOLDIR=$(top_builddir)/tools
+SRCDATADIR=$(top_srcdir)/data
+UNICODEDATADIR=$(SRCDATADIR)/unidata
+OUTDIR=$(top_builddir)/data/out
+OUTTMPDIR=$(top_builddir)/data/out/tmp
+BUILDDIR=$(OUTDIR)/build/$(ICUDATA_PLATFORM_NAME)
+TESTSRCDATADIR=$(top_srcdir)/test/testdata
+TESTOUTDIR=$(top_builddir)/test/testdata/out
+BUILD_DIRS = $(TESTOUTDIR) $(TESTBUILDDIR) $(TESTOUTDIR)/$(TESTDT)
+
+ifeq ($(PKGDATA_MODE),common)
+ICU_DATA_OPT = -i $(OUTDIR)
+else
+ifeq ($(PKGDATA_MODE),dll)
+ifneq ($(ENABLE_SHARED),YES)
+ICU_DATA_OPT = -i $(BUILDDIR)
+else
+ICU_DATA_OPT =
+endif
+else
+ICU_DATA_OPT = -i $(BUILDDIR)
+endif
+endif
+
+PKGDATA = $(BINDIR)/pkgdata $(PKGDATA_OPTS) -q -c -s $(CURDIR)/out/build/$(ICUDATA_PLATFORM_NAME)
+PKGDATA_INVOKE:=$(INVOKE) $(PKGDATA_INVOKE_OPTS)
+
+# Contains all 'intermediate' files (and temp files) except for 'unpackaged data' below
+TESTBUILDDIR=$(TESTOUTDIR)/build
+
+# unpackaged files - live in 'out' so that the path can find them as part of the pkg
+UNPACKAGEDTESTDATA=$(TESTOUTDIR)/$(TESTDT)/nam.typ
+
+# pkg name for testdata
+TESTDATA=testdata
+# prefix for files that are testdata
+TESTDT=$(TESTDATA)
+
+# File definitions
+TEST_DAT_FILES=$(TESTBUILDDIR)/test.icu
+TEST_SPP_FILES=$(TESTBUILDDIR)/nfscsi.spp $(TESTBUILDDIR)/nfscss.spp $(TESTBUILDDIR)/nfscis.spp $(TESTBUILDDIR)/nfsmxs.spp $(TESTBUILDDIR)/nfsmxp.spp
+
+TEST_UCM_SOURCE= test1.ucm test3.ucm test4.ucm test4x.ucm ibm9027.ucm
+TEST_UCM_FILES=$(TEST_UCM_SOURCE:%=$(TESTSRCDATADIR)/data/%)
+TEST_CNV_FILES=$(TEST_UCM_SOURCE:%.ucm=$(TESTBUILDDIR)/%.cnv)
+
+# import the shared .mk file
+include $(TESTSRCDATADIR)/tstfiles.mk
+
+# TEST_RES_SOURCE comes from tstfiles.mk
+TEST_RES = $(TEST_RES_SOURCE) casing.txt mc.txt root.txt sh.txt sh_YU.txt te.txt te_IN.txt te_IN_REVISED.txt testtypes.txt testaliases.txt testempty.txt structLocale.txt idna_rules.txt conversion.txt icuio.txt testtable32.txt
+TEST_RES_FILES=$(TEST_RES:%.txt=$(TESTBUILDDIR)/%.res) $(TESTBUILDDIR)/iscii.res $(TESTBUILDDIR)/icu26_testtypes.res $(TESTBUILDDIR)/icu26e_testtypes.res
+
+ALL_TEST_FILES = $(TEST_DAT_FILES) $(TEST_SPP_FILES) $(TEST_BRK_FILES) $(TEST_CNV_FILES) $(TEST_RES_FILES) $(TESTOUTDIR)/$(TESTDT)/nam.typ
+
+# list
+
+$(TESTBUILDDIR)/testdata.lst: $(SRCLISTDEPS)
+ @echo "generating $@ (list of data files)"
+ @-$(RMV) $@
+ @for file in $(TEST_RES_FILES:$(TESTBUILDDIR)/%.res=%.res) $(TEST_DAT_FILES:$(TESTBUILDDIR)/%.icu=%.icu) $(TEST_SPP_FILES:$(TESTBUILDDIR)/%.spp=%.spp) $(TEST_CNV_FILES:$(TESTBUILDDIR)/%.cnv=%.cnv); do \
+ echo $$file >> $@; \
+ done;
+
+
+build-testdata: build-dir $(ALL_TEST_FILES) $(TESTBUILDDIR)/testdata.lst $(TESTBUILDDIR)/iscii.res
+
+# test.icu
+$(TESTBUILDDIR)/test.icu: $(TOOLDIR)/gentest/gentest$(EXEEXT)
+ $(INVOKE) $(TOOLDIR)/gentest/gentest -d $(TESTBUILDDIR)
+
+$(TESTBUILDDIR)/testtable32.txt: $(TOOLDIR)/gentest/gentest$(EXEEXT)
+ $(INVOKE) $(TOOLDIR)/gentest/gentest -r -d $(TESTBUILDDIR)
+
+# java output
+java-output: $(JAVA_OUT_DIR)/DebugUtilitiesData.java
+
+$(JAVA_OUT_DIR)/DebugUtilitiesData.java: $(TOOLDIR)/gentest/gentest$(EXEEXT)
+ $(MKINSTALLDIRS) $(JAVA_OUT_DIR)
+ $(INVOKE) $(TOOLDIR)/gentest/gentest -j -d $(JAVA_OUT_DIR)
+
+
+$(TESTBUILDDIR)/testtable32.res: $(TESTBUILDDIR)/testtable32.txt $(BINDIR)/genrb$(EXEEXT)
+ $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -s $(TESTBUILDDIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) $(<F)
+
+# Targets for nfscsi.spp
+$(TESTBUILDDIR)/nfscsi.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_cs_prep_ci.txt
+ @echo Building nfscsi.icu
+ $(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfscsi -u 3.2.0 nfs4_cs_prep_ci.txt
+
+# Targets for nfscss.spp
+$(TESTBUILDDIR)/nfscss.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_cs_prep_cs.txt
+ @echo Building nfscss.icu
+ $(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfscss -u 3.2.0 nfs4_cs_prep_cs.txt
+
+# Targets for nfscis.spp
+$(TESTBUILDDIR)/nfscis.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_cis_prep.txt
+ @echo Building nfscis.spp
+ $(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfscis -k -n $(UNICODEDATADIR) -u 3.2.0 nfs4_cis_prep.txt
+
+# Targets for nfsmxs.spp
+$(TESTBUILDDIR)/nfsmxs.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_mixed_prep_s.txt
+ @echo Building nfsmxs.spp
+ $(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfsmxs -k -n $(UNICODEDATADIR) -u 3.2.0 nfs4_mixed_prep_s.txt
+
+# Targets for nfsmxp.spp
+$(TESTBUILDDIR)/nfsmxp.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_mixed_prep_p.txt
+ @echo Building nfsmxp.spp
+ $(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfsmxp -k -n $(UNICODEDATADIR) -u 3.2.0 nfs4_mixed_prep_p.txt
+
+$(TESTBUILDDIR)/%.cnv: $(TESTSRCDATADIR)/%.ucm $(BINDIR)/makeconv$(EXEEXT)
+ $(INVOKE) $(BINDIR)/makeconv -c -d $(TESTBUILDDIR) $(TESTSRCDATADIR)/$(<F)
+
+$(TESTBUILDDIR)/%.res: $(TESTSRCDATADIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES)
+ $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -q -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) $(<F)
+
+$(TESTBUILDDIR)/iscii.res: $(TESTSRCDATADIR)/iscii.bin $(BINDIR)/genrb$(EXEEXT)
+ @echo Testing genrb -e option
+ @ICU_DATA=$(BUILDDIR) $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -s $(TESTSRCDATADIR) -eISCII,version=0 -d $(TESTBUILDDIR) $(<F) >/dev/null || ( echo "WARNING: could not open ISCII - it may have been disabled." | tee $@ )
+ @echo Finished testing genrb -e option
+
+################################################################### TYP
+# TYP FILES
+
+$(TESTOUTDIR)/$(TESTDT)/nam.typ: $(TESTBUILDDIR)/te_IN.res
+ cp $< $@
+$(TESTBUILDDIR)/icu26_testtypes.res: $(TESTSRCDATADIR)/icu26_testtypes.res
+ cp $< $@
+$(TESTBUILDDIR)/icu26e_testtypes.res: $(TESTSRCDATADIR)/icu26e_testtypes.res
+ cp $< $@
+
+testdata: build-dir $(ALL_TEST_FILES) $(UNPACKAGEDTESTDATA)
+
+#$(ALL_TEST_FILES) $(TESTBUILDDIR)/testtable32.txt $(TESTBUILDDIR)/testdata.lst: build-dir
+
+packagetest: build-dir testdata pkgdata.inc $(TESTBUILDDIR)/testdata.lst
+ $(PKGDATA_INVOKE) $(PKGDATA) -T $(TESTBUILDDIR) -d $(TESTOUTDIR) -s $(TESTBUILDDIR) -p $(TESTDATA) -m common $(TESTBUILDDIR)/testdata.lst
+
+build-dir: $(BUILD_DIRS)
+$(BUILD_DIRS):
+ -$(MKINSTALLDIRS) $(BUILD_DIRS)
+
+
diff --git a/test/testdata/pkgdata.inc b/test/testdata/pkgdata.inc
new file mode 100644
index 00000000..5f427986
--- /dev/null
+++ b/test/testdata/pkgdata.inc
@@ -0,0 +1,20 @@
+#******************************************************************************
+#
+# Copyright (C) 2000-2006, International Business Machines
+# Corporation and others. All Rights Reserved.
+#
+#******************************************************************************
+# This Makefile is used to build the ICU's data.
+# It is included with the -O option to pkgdata.
+
+top_srcdir=../..
+srcdir=.
+top_builddir=../..
+
+include $(top_builddir)/icudefs.mk
+
+##### Add the following to source/config/Makefile.in
+
+GENCCODE=$(BINDIR)/genccode
+ICUPKG=$(BINDIR)/icupkg
+