summaryrefslogtreecommitdiff
path: root/common/tests/unit/src/com/android/net/module/util/CleanupTestJava.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/tests/unit/src/com/android/net/module/util/CleanupTestJava.java')
-rw-r--r--common/tests/unit/src/com/android/net/module/util/CleanupTestJava.java121
1 files changed, 0 insertions, 121 deletions
diff --git a/common/tests/unit/src/com/android/net/module/util/CleanupTestJava.java b/common/tests/unit/src/com/android/net/module/util/CleanupTestJava.java
deleted file mode 100644
index 8a13397b..00000000
--- a/common/tests/unit/src/com/android/net/module/util/CleanupTestJava.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2021 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.
- */
-
-package com.android.net.module.util;
-
-import static com.android.testutils.Cleanup.testAndCleanup;
-import static com.android.testutils.MiscAsserts.assertThrows;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import android.util.Log;
-
-import org.junit.Test;
-
-import java.util.concurrent.atomic.AtomicInteger;
-
-public class CleanupTestJava {
- private static final String TAG = CleanupTestJava.class.getSimpleName();
- private static final class TestException1 extends Exception {}
- private static final class TestException2 extends Exception {}
- private static final class TestException3 extends Exception {}
-
- @Test
- public void testNotThrow() {
- final AtomicInteger x = new AtomicInteger(1);
- final int a = testAndCleanup(() -> {
- x.compareAndSet(1, 2);
- Log.e(TAG, "Do nothing");
- return 6;
- }, () -> {
- x.compareAndSet(2, 3);
- Log.e(TAG, "Do nothing");
- });
- assertEquals(3, x.get());
- assertEquals(6, a);
- }
-
- @Test
- public void testThrowTry() {
- final AtomicInteger x = new AtomicInteger(1);
- assertThrows(TestException1.class, () ->
- testAndCleanup(() -> {
- x.compareAndSet(1, 2);
- throw new TestException1();
- // Java refuses to call x.set(3) here because this line is unreachable
- }, () -> {
- x.compareAndSet(2, 3);
- Log.e(TAG, "Do nothing");
- })
- );
- assertEquals(3, x.get());
- }
-
- @Test
- public void testThrowCleanup() {
- final AtomicInteger x = new AtomicInteger(1);
- assertThrows(TestException2.class, () ->
- testAndCleanup(() -> {
- x.compareAndSet(1, 2);
- Log.e(TAG, "Do nothing");
- }, () -> {
- x.compareAndSet(2, 3);
- throw new TestException2();
- // Java refuses to call x.set(4) here because this line is unreachable
- })
- );
- assertEquals(3, x.get());
- }
-
- @Test
- public void testThrowBoth() {
- final AtomicInteger x = new AtomicInteger(1);
- assertThrows(TestException1.class, () ->
- testAndCleanup(() -> {
- x.compareAndSet(1, 2);
- throw new TestException1();
- }, () -> {
- x.compareAndSet(2, 3);
- throw new TestException2();
- })
- );
- assertEquals(3, x.get());
- }
-
- @Test
- public void testMultipleCleanups() {
- final AtomicInteger x = new AtomicInteger(1);
- final TestException1 exception = assertThrows(TestException1.class, () ->
- testAndCleanup(() -> {
- x.compareAndSet(1, 2);
- throw new TestException1();
- }, () -> {
- x.compareAndSet(2, 3);
- throw new TestException2();
- }, () -> {
- x.compareAndSet(3, 4);
- throw new TestException3();
- }, () -> {
- x.compareAndSet(4, 5);
- })
- );
- assertEquals(2, exception.getSuppressed().length);
- assertTrue(exception.getSuppressed()[0] instanceof TestException2);
- assertTrue(exception.getSuppressed()[1] instanceof TestException3);
- assertEquals(5, x.get());
- }
-}