icu4c/source/test/testmap/testmap.plg
icu4c/source/test/thaitest/Makefile
icu4c/source/test/threadtest/Makefile
+icu4c/source/test/tmp
icu4c/source/tools/Makefile
icu4c/source/tools/ctestfw/*.ao
icu4c/source/tools/ctestfw/*.d
cross_buildroot = $(top_builddir)
endif
+# for tests
+ifneq ($(TEST_STATUS_FILE),)
+TEST_OUTPUT_OPTS="-E$(TEST_STATUS_FILE)"
+endif
+
# optional include at top
-include $(top_builddir)/icudefs.local
## Makefile.in for ICU tests
-## Copyright (c) 1999-2011, International Business Machines Corporation and
+## Copyright (c) 1999-2013, International Business Machines Corporation and
## others. All Rights Reserved.
## Source directory information
@ICUIO_TRUE@IOTEST = iotest
+# status dir
+STATUS_TMP = tmp
+STATUS_FULL = $(shell pwd)/$(STATUS_TMP)
+
## Files to remove for 'make clean'
CLEANFILES = *~
distclean : distclean-recursive distclean-local
$(RMV) hdrtst/Makefile
$(RMV) perf/convperf/Makefile
+ $(RMV) $(STATUS_TMP)
dist: dist-recursive dist-local
check: everything check-recursive check-local
fi
xcheck-recursive check-recursive check-exhaustive-recursive:
+ @$(MKINSTALLDIRS) $(STATUS_TMP)
+ @mystatus=$(STATUS_FULL)/status.$$$$.deleteme ; \
+ $(RMV) "$$mystatus".* ; \
@goods=; \
bads=; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \
local_target="$$target"; \
- if (cd $$subdir && $(MAKE) $$local_target); then \
+ if (cd $$subdir && $(MAKE) $$local_target TEST_STATUS_FILE="$$mystatus.$$subdir" ); then \
goods="$$goods $$subdir"; \
else \
bads="$$bads $$subdir"; \
fi; \
done; \
+ for subdir in $$list; do \
+ if [ -f "$$mystatus.$$subdir" ]; then \
+ echo "-------------" ; \
+ echo "| SUBTEST SUMMARY: $$subdir" ; \
+ cat "$$mystatus.$$subdir" ; \
+ echo "| END SUMMARY: $$subdir" ; \
+ $(RMV) "$$mystatus.$$subdir" ; \
+ fi; \
+ done; \
echo "---------------"; \
echo "ALL TESTS SUMMARY:"; \
if test ! "x$$bads" = "x"; then \
$(RMV) Makefile
check-local: all-local
- $(INVOKE) ./$(TARGET) $(CINTLTST_OPTS)
+ $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(CINTLTST_OPTS)
check-exhaustive-local: all-local
- $(INVOKE) ./$(TARGET) -e
+ $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) -e
TESTXML=$(top_builddir)/test-$(TARGET).xml
xcheck-local: all-local
- $(INVOKE) ./$(TARGET) $(CINTLTST_OPTS) -x $(TESTXML)
+ $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(CINTLTST_OPTS) -x $(TESTXML)
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
$(RMV) Makefile
check-local: all-local
- $(INVOKE) ./$(TARGET) $(INTLTEST_OPTS)
+ $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(INTLTEST_OPTS)
check-exhaustive-local: all-local
- $(INVOKE) ./$(TARGET) -e
+ $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) -e
TESTXML=$(top_builddir)/test-$(TARGET).xml
xcheck-local: all-local
- $(INVOKE) ./$(TARGET) $(INTLTEST_OPTS) -x $(TESTXML)
+ $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(INTLTEST_OPTS) -x $(TESTXML)
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
UBool name = FALSE;
UBool leaks = FALSE;
UBool utf8 = FALSE;
+ const char *summary_file = NULL;
UBool warnOnMissingData = FALSE;
UBool defaultDataFound = FALSE;
int32_t threadCount = 1;
else if (strcmp("notime", str) == 0 ||
strcmp("T", str) == 0)
no_time = TRUE;
+ else if (strncmp("E", str, 1) == 0)
+ summary_file = str+1;
else if (strcmp("x", str)==0) {
if(++i>=argc) {
printf("* Error: '-x' option requires an argument. usage: '-x outfile.xml'.\n");
fprintf(stdout, "Errors in total: %ld.\n", (long)major.getErrors());
major.printErrors();
+ if(summary_file != NULL) {
+ FILE *summf = fopen(summary_file, "w");
+ if( summf != NULL) {
+ char buf[10000];
+ int32_t length = errorList.extract(0, errorList.length(), buf, sizeof(buf));
+ fwrite(buf, sizeof(*buf), length, (FILE*)summf);
+ fclose(summf);
+ }
+ }
+
if (major.getDataErrors() != 0) {
fprintf(stdout, "\t*Note* some errors are data-loading related. If the data used is not the \n"
#******************************************************************************
#
-# Copyright (C) 1999-2011, International Business Machines
+# Copyright (C) 1999-2013, International Business Machines
# Corporation and others. All Rights Reserved.
#
#******************************************************************************
$(RMV) Makefile
check-local: all-local
- $(INVOKE) ./$(TARGET) $(IOTEST_OPTS)
+ $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(IOTEST_OPTS)
check-exhaustive-local: all-local
- $(INVOKE) ./$(TARGET) -e
+ $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) -e
TESTXML=$(top_builddir)/test-$(TARGET).xml
xcheck-local: all-local
- $(INVOKE) ./$(TARGET) $(IOTEST_OPTS) -x $(TESTXML)
+ $(INVOKE) ./$(TARGET) $(TEST_OUTPUT_OPTS) $(IOTEST_OPTS) -x $(TESTXML)
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
static const char *ARGV_0 = "[ALL]";
static const char *XML_FILE_NAME=NULL;
static char XML_PREFIX[256];
-
+static const char *SUMMARY_FILE = NULL;
FILE *XML_FILE = NULL;
/*-------------------------------------------*/
fprintf(stdout, " Errors in\n");
for (i=0;i < ERRONEOUS_FUNCTION_COUNT; i++)
fprintf(stdout, "[%s]\n",ERROR_LOG[i]);
+ if(SUMMARY_FILE != NULL) {
+ FILE *summf = fopen(SUMMARY_FILE, "w");
+ if(summf!=NULL) {
+ for (i=0;i < ERRONEOUS_FUNCTION_COUNT; i++)
+ fprintf(summf, "%s\n",ERROR_LOG[i]);
+ fclose(summf);
+ }
+ }
}
else
{
{
QUICK = 0;
}
+ else if (strncmp( argv[i], "-E",2) ==0)
+ {
+ SUMMARY_FILE=argv[i]+2;
+ }
else if (strcmp( argv[i], "-w") ==0)
{
WARN_ON_MISSING_DATA = TRUE;