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

Unified Diff: dart/compiler/javatests/com/google/dart/compiler/common/NameFactoryTest.java

Issue 9353015: Remove dartc optimizing backend. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix minor test issues Created 8 years, 10 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
Index: dart/compiler/javatests/com/google/dart/compiler/common/NameFactoryTest.java
diff --git a/dart/compiler/javatests/com/google/dart/compiler/common/NameFactoryTest.java b/dart/compiler/javatests/com/google/dart/compiler/common/NameFactoryTest.java
deleted file mode 100644
index 69239b71cde69ace5ef9943a404368af56ba6fe2..0000000000000000000000000000000000000000
--- a/dart/compiler/javatests/com/google/dart/compiler/common/NameFactoryTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.google.dart.compiler.common;
-
-import java.lang.ref.WeakReference;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.CyclicBarrier;
-
-public class NameFactoryTest extends NameTestCase {
- private static final int NUM_RETRIES = 50;
- private static final int NUM_THREADS = 10;
-
- private NameFactory factory;
-
- @Override
- protected void tearDown() {
- factory = null;
- }
-
- /**
- * I'm told this can be made to work, but it's flaky for me.
- */
- public void disabledTestGc() {
- factory = new NameFactory();
- insertDefaultNames();
- System.gc();
- System.gc();
- System.gc();
- System.gc();
- factory.cleanUp();
- assertEquals(0, factory.numEntries());
- }
-
- public void testContention() throws Throwable {
- // Run many times to try to trip a concurreny problem.
- for (int r = 0; r < NUM_RETRIES; ++r) {
- factory = new NameFactory();
- Name[] names = new Name[NUM_INPUTS];
- for (int i = 0; i < NUM_INPUTS; ++i) {
- assertEquals(i, factory.numEntries());
- names[i] = testContentionFor(INPUTS[i]);
- assertEquals(i + 1, factory.numEntries());
- }
- }
- }
-
- public void testCreation() {
- factory = new NameFactory();
- Name[] names = insertDefaultNames();
- // Check that the same names come back.
- for (int i = 0; i < NUM_INPUTS; ++i) {
- assertEquals(NUM_INPUTS, factory.numEntries());
- Name newName = factory.of(INPUTS[i]);
- assertEquals(names[i], newName);
- assertSame(names[i], newName);
- assertEquals(NUM_INPUTS, factory.numEntries());
- }
- }
-
- public void testRemoval() {
- factory = new NameFactory();
- Name[] names = insertDefaultNames();
- // Simulate GC removal.
- for (int i = NUM_INPUTS; i > 0; --i) {
- assertEquals(i, factory.numEntries());
- WeakReference<Name> ref = factory.getRefFor(names[NUM_INPUTS - i]);
- ref.clear();
- ref.enqueue();
- factory.cleanUp();
- assertEquals(i - 1, factory.numEntries());
- }
- // Check that different names come back.
- for (int i = 0; i < NUM_INPUTS; ++i) {
- assertEquals(i, factory.numEntries());
- Name newName = factory.of(INPUTS[i]);
- assertNotSame(names[i], newName);
- assertNotEquals(names[i], newName);
- assertEquals(i + 1, factory.numEntries());
- }
- }
-
- private Name[] insertDefaultNames() {
- Name[] names = new Name[NUM_INPUTS];
- for (int i = 0; i < NUM_INPUTS; ++i) {
- assertEquals(i, factory.numEntries());
- names[i] = factory.of(INPUTS[i]);
- assertEquals(i + 1, factory.numEntries());
- }
- return names;
- }
-
- private Name testContentionFor(final char[] data) throws Throwable {
- final CyclicBarrier barrier = new CyclicBarrier(NUM_THREADS);
- final CountDownLatch countDown = new CountDownLatch(NUM_THREADS);
- final Object[] results = new Name[NUM_THREADS];
- for (int i = 0; i < NUM_THREADS; ++i) {
- final int id = i;
- new Thread() {
- public void run() {
- try {
- barrier.await();
- results[id] = factory.of(data);
- } catch (Throwable e) {
- results[id] = e;
- } finally {
- countDown.countDown();
- }
- }
- }.start();
- }
- countDown.await();
- Name expected = factory.of(data);
- for (int i = 0; i < NUM_THREADS; ++i) {
- Object result = results[i];
- if (result == null) {
- throw new NullPointerException("Missing results from " + i);
- } else if (results[i] instanceof Throwable) {
- throw (Throwable) results[i];
- } else {
- assertSame(expected, results[i]);
- }
- }
- return expected;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698