summaryrefslogtreecommitdiffstats
path: root/vm/test
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:14 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:14 -0800
commitf72d5de56a522ac3be03873bdde26f23a5eeeb3c (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /vm/test
parent31e30105703263782efd450d356cd67ea01af3b7 (diff)
downloadandroid_dalvik-f72d5de56a522ac3be03873bdde26f23a5eeeb3c.tar.gz
android_dalvik-f72d5de56a522ac3be03873bdde26f23a5eeeb3c.tar.bz2
android_dalvik-f72d5de56a522ac3be03873bdde26f23a5eeeb3c.zip
auto import from //depot/cupcake/@135843
Diffstat (limited to 'vm/test')
-rw-r--r--vm/test/Test.h24
-rw-r--r--vm/test/TestHash.c187
2 files changed, 0 insertions, 211 deletions
diff --git a/vm/test/Test.h b/vm/test/Test.h
deleted file mode 100644
index a6b54a5a6..000000000
--- a/vm/test/Test.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * Internal unit tests.
- */
-#ifndef _DALVIK_TEST_TEST
-#define _DALVIK_TEST_TEST
-
-bool dvmTestHash(void);
-
-#endif /*_DALVIK_TEST_TEST*/
diff --git a/vm/test/TestHash.c b/vm/test/TestHash.c
deleted file mode 100644
index 42fe014d9..000000000
--- a/vm/test/TestHash.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * Test the hash table functions.
- */
-#include "Dalvik.h"
-
-#include <stdlib.h>
-
-#define kNumTestEntries 14
-
-/*
- * Test foreach.
- */
-static int printFunc(void* data, void* arg)
-{
- //printf(" '%s'\n", (const char*) data);
- // (should verify strings)
-
- int* count = (int*) arg;
- (*count)++;
- return 0;
-}
-static void dumpForeach(HashTable* pTab)
-{
- int count = 0;
-
- //printf("Print from foreach:\n");
- dvmHashForeach(pTab, printFunc, &count);
- if (count != kNumTestEntries) {
- LOGE("TestHash foreach test failed\n");
- assert(false);
- }
-}
-
-/*
- * Test iterator.
- */
-static void dumpIterator(HashTable* pTab)
-{
- int count = 0;
-
- //printf("Print from iterator:\n");
- HashIter iter;
- for (dvmHashIterBegin(pTab, &iter); !dvmHashIterDone(&iter);
- dvmHashIterNext(&iter))
- {
- const char* str = (const char*) dvmHashIterData(&iter);
- //printf(" '%s'\n", str);
- // (should verify strings)
- count++;
- }
- if (count != kNumTestEntries) {
- LOGE("TestHash iterator test failed\n");
- assert(false);
- }
-}
-
-/*
- * Some quick hash table tests.
- */
-bool dvmTestHash(void)
-{
- HashTable* pTab;
- char tmpStr[64];
- const char* str;
- u4 hash;
- int i;
-
- LOGV("TestHash BEGIN\n");
-
- pTab = dvmHashTableCreate(dvmHashSize(12), free);
- if (pTab == NULL)
- return false;
-
- dvmHashTableLock(pTab);
-
- /* add some entries */
- for (i = 0; i < kNumTestEntries; i++) {
- sprintf(tmpStr, "entry %d", i);
- hash = dvmComputeUtf8Hash(tmpStr);
- dvmHashTableLookup(pTab, hash, strdup(tmpStr),
- (HashCompareFunc) strcmp, true);
- }
-
- dvmHashTableUnlock(pTab);
-
- /* make sure we can find all entries */
- for (i = 0; i < kNumTestEntries; i++) {
- sprintf(tmpStr, "entry %d", i);
- hash = dvmComputeUtf8Hash(tmpStr);
- str = (const char*) dvmHashTableLookup(pTab, hash, tmpStr,
- (HashCompareFunc) strcmp, false);
- if (str == NULL) {
- LOGE("TestHash: failure: could not find '%s'\n", tmpStr);
- /* return false */
- }
- }
-
- /* make sure it behaves correctly when entry not found and !doAdd */
- sprintf(tmpStr, "entry %d", 17);
- hash = dvmComputeUtf8Hash(tmpStr);
- str = (const char*) dvmHashTableLookup(pTab, hash, tmpStr,
- (HashCompareFunc) strcmp, false);
- if (str == NULL) {
- /* good */
- } else {
- LOGE("TestHash found nonexistent string (improper add?)\n");
- }
-
- dumpForeach(pTab);
- dumpIterator(pTab);
-
- /* make sure they all get freed */
- dvmHashTableFree(pTab);
-
-
- /*
- * Round 2: verify probing & tombstones.
- */
- pTab = dvmHashTableCreate(dvmHashSize(2), free);
- if (pTab == NULL)
- return false;
-
- hash = 0;
-
- /* two entries, same hash, different values */
- char* str1;
- str1 = dvmHashTableLookup(pTab, hash, strdup("one"),
- (HashCompareFunc) strcmp, true);
- assert(str1 != NULL);
- str = dvmHashTableLookup(pTab, hash, strdup("two"),
- (HashCompareFunc) strcmp, true);
-
- /* remove the first one */
- if (!dvmHashTableRemove(pTab, hash, str1))
- LOGE("TestHash failed to delete item\n");
- else
- free(str1); // "Remove" doesn't call the free func
-
- /* make sure iterator doesn't included deleted entries */
- int count = 0;
- HashIter iter;
- for (dvmHashIterBegin(pTab, &iter); !dvmHashIterDone(&iter);
- dvmHashIterNext(&iter))
- {
- count++;
- }
- if (count != 1) {
- LOGE("TestHash wrong number of entries (%d)\n", count);
- }
-
- /* see if we can find them */
- str = dvmHashTableLookup(pTab, hash, "one", (HashCompareFunc) strcmp,false);
- if (str != NULL)
- LOGE("TestHash deleted entry has returned!");
- str = dvmHashTableLookup(pTab, hash, "two", (HashCompareFunc) strcmp,false);
- if (str == NULL)
- LOGE("TestHash entry vanished\n");
-
- /* force a table realloc to exercise tombstone removal */
- for (i = 0; i < 20; i++) {
- sprintf(tmpStr, "entry %d", i);
- str = (const char*) dvmHashTableLookup(pTab, hash, strdup(tmpStr),
- (HashCompareFunc) strcmp, true);
- assert(str != NULL);
- }
-
- dvmHashTableFree(pTab);
- LOGV("TestHash END\n");
-
- return true;
-}
-