Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(178)

Unified Diff: source/test/cintltst/hpmufn.c

Issue 2435373002: Delete source/test (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/test/cintltst/eurocreg.c ('k') | source/test/cintltst/idnatest.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/test/cintltst/hpmufn.c
diff --git a/source/test/cintltst/hpmufn.c b/source/test/cintltst/hpmufn.c
deleted file mode 100644
index edb7a989ce67670252cfe9bc2559df779ededfff..0000000000000000000000000000000000000000
--- a/source/test/cintltst/hpmufn.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/********************************************************************
- * COPYRIGHT:
- * Copyright (c) 2003-2015, International Business Machines Corporation and
- * others. All Rights Reserved.
- ********************************************************************/
-/*
-* File hpmufn.c
-*
-*/
-
-#include "unicode/utypes.h"
-#include "unicode/putil.h"
-#include "unicode/uclean.h"
-#include "unicode/uchar.h"
-#include "unicode/ures.h"
-#include "cintltst.h"
-#include "unicode/utrace.h"
-#include <stdlib.h>
-#include <string.h>
-
-/**
- * This should align the memory properly on any machine.
- */
-typedef union {
- long t1;
- double t2;
- void *t3;
-} ctest_AlignedMemory;
-
-static void TestHeapFunctions(void);
-
-void addHeapMutexTest(TestNode **root);
-
-
-void
-addHeapMutexTest(TestNode** root)
-{
- addTest(root, &TestHeapFunctions, "hpmufn/TestHeapFunctions" );
-}
-
-static int32_t gMutexFailures = 0;
-
-#define TEST_STATUS(status, expected) \
-if (status != expected) { \
-log_err_status(status, "FAIL at %s:%d. Actual status = \"%s\"; Expected status = \"%s\"\n", \
- __FILE__, __LINE__, u_errorName(status), u_errorName(expected)); gMutexFailures++; }
-
-
-#define TEST_ASSERT(expr) \
-if (!(expr)) { \
- log_err("FAILED Assertion \"" #expr "\" at %s:%d.\n", __FILE__, __LINE__); \
- gMutexFailures++; \
-}
-
-
-/* These tests do cleanup and reinitialize ICU in the course of their operation.
- * The ICU data directory must be preserved across these operations.
- * Here is a helper function to assist with that.
- */
-static char *safeGetICUDataDirectory() {
- const char *dataDir = u_getDataDirectory(); /* Returned string vanashes with u_cleanup */
- char *retStr = NULL;
- if (dataDir != NULL) {
- retStr = (char *)malloc(strlen(dataDir)+1);
- strcpy(retStr, dataDir);
- }
- return retStr;
-}
-
-
-
-/*
- * Test Heap Functions.
- * Implemented on top of the standard malloc heap.
- * All blocks increased in size by 8 to 16 bytes, and the poiner returned to ICU is
- * offset up by 8 to 16, which should cause a good heap corruption if one of our "blocks"
- * ends up being freed directly, without coming through us.
- * Allocations are counted, to check that ICU actually does call back to us.
- */
-int gBlockCount = 0;
-const void *gContext;
-
-static void * U_CALLCONV myMemAlloc(const void *context, size_t size) {
- char *retPtr = (char *)malloc(size+sizeof(ctest_AlignedMemory));
- if (retPtr != NULL) {
- retPtr += sizeof(ctest_AlignedMemory);
- }
- gBlockCount ++;
- return retPtr;
-}
-
-static void U_CALLCONV myMemFree(const void *context, void *mem) {
- char *freePtr = (char *)mem;
- if (freePtr != NULL) {
- freePtr -= sizeof(ctest_AlignedMemory);
- }
- free(freePtr);
-}
-
-
-
-static void * U_CALLCONV myMemRealloc(const void *context, void *mem, size_t size) {
- char *p = (char *)mem;
- char *retPtr;
-
- if (p!=NULL) {
- p -= sizeof(ctest_AlignedMemory);
- }
- retPtr = realloc(p, size+sizeof(ctest_AlignedMemory));
- if (retPtr != NULL) {
- p += sizeof(ctest_AlignedMemory);
- }
- return retPtr;
-}
-
-
-static void TestHeapFunctions() {
- UErrorCode status = U_ZERO_ERROR;
- UResourceBundle *rb = NULL;
- char *icuDataDir;
- UVersionInfo unicodeVersion = {0,0,0,0};
-
- icuDataDir = safeGetICUDataDirectory(); /* save icu data dir, so we can put it back
- * after doing u_cleanup(). */
-
-
- /* Verify that ICU can be cleaned up and reinitialized successfully.
- * Failure here usually means that some ICU service didn't clean up successfully,
- * probably because some earlier test accidently left something open. */
- ctest_resetICU();
-
- /* Un-initialize ICU */
- u_cleanup();
-
- /* Can not set memory functions with NULL values */
- status = U_ZERO_ERROR;
- u_setMemoryFunctions(&gContext, NULL, myMemRealloc, myMemFree, &status);
- TEST_STATUS(status, U_ILLEGAL_ARGUMENT_ERROR);
- status = U_ZERO_ERROR;
- u_setMemoryFunctions(&gContext, myMemAlloc, NULL, myMemFree, &status);
- TEST_STATUS(status, U_ILLEGAL_ARGUMENT_ERROR);
- status = U_ZERO_ERROR;
- u_setMemoryFunctions(&gContext, myMemAlloc, myMemRealloc, NULL, &status);
- TEST_STATUS(status, U_ILLEGAL_ARGUMENT_ERROR);
-
- /* u_setMemoryFunctions() should work with null or non-null context pointer */
- status = U_ZERO_ERROR;
- u_setMemoryFunctions(NULL, myMemAlloc, myMemRealloc, myMemFree, &status);
- TEST_STATUS(status, U_ZERO_ERROR);
- u_setMemoryFunctions(&gContext, myMemAlloc, myMemRealloc, myMemFree, &status);
- TEST_STATUS(status, U_ZERO_ERROR);
-
-
- /* After reinitializing ICU, we can not set the memory funcs again. */
- status = U_ZERO_ERROR;
- u_setDataDirectory(icuDataDir);
- u_init(&status);
- TEST_STATUS(status, U_ZERO_ERROR);
-
- /* Doing ICU operations should cause allocations to come through our test heap */
- gBlockCount = 0;
- status = U_ZERO_ERROR;
- rb = ures_open(NULL, "es", &status);
- TEST_STATUS(status, U_ZERO_ERROR);
- if (gBlockCount == 0) {
- log_err("Heap functions are not being called from ICU.\n");
- }
- ures_close(rb);
-
- /* Cleanup should put the heap back to its default implementation. */
- ctest_resetICU();
- u_getUnicodeVersion(unicodeVersion);
- if (unicodeVersion[0] <= 0) {
- log_err("Properties doesn't reinitialize without u_init.\n");
- }
- status = U_ZERO_ERROR;
- u_init(&status);
- TEST_STATUS(status, U_ZERO_ERROR);
-
- /* ICU operations should no longer cause allocations to come through our test heap */
- gBlockCount = 0;
- status = U_ZERO_ERROR;
- rb = ures_open(NULL, "fr", &status);
- TEST_STATUS(status, U_ZERO_ERROR);
- if (gBlockCount != 0) {
- log_err("Heap functions did not reset after u_cleanup.\n");
- }
- ures_close(rb);
- free(icuDataDir);
-
- ctest_resetICU();
-}
-
-
« no previous file with comments | « source/test/cintltst/eurocreg.c ('k') | source/test/cintltst/idnatest.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698