Fix issues reported by checkstyle

Test: builds
Change-Id: I41979cc8096a682c6844df0825ee56ab00a828b5
This commit is contained in:
Chalard Jean
2020-06-26 00:16:27 +09:00
parent 48c6c7d838
commit e06c5c8fc0
4 changed files with 30 additions and 3 deletions

View File

@@ -20,7 +20,6 @@ import android.os.ConditionVariable
import android.os.Handler import android.os.Handler
import android.os.HandlerThread import android.os.HandlerThread
import java.util.concurrent.Executor import java.util.concurrent.Executor
import kotlin.system.measureTimeMillis
import kotlin.test.fail import kotlin.test.fail
/** /**

View File

@@ -34,6 +34,11 @@ import java.util.function.Predicate;
import kotlin.Lazy; import kotlin.Lazy;
import kotlin.LazyKt; import kotlin.LazyKt;
/**
* A packet reader that runs on a TAP interface.
*
* It also implements facilities to reply to received packets.
*/
public class TapPacketReader extends PacketReader { public class TapPacketReader extends PacketReader {
private final FileDescriptor mTapFd; private final FileDescriptor mTapFd;
private final ArrayTrackRecord<byte[]> mReceivedPackets = new ArrayTrackRecord<>(); private final ArrayTrackRecord<byte[]> mReceivedPackets = new ArrayTrackRecord<>();
@@ -82,6 +87,14 @@ public class TapPacketReader extends PacketReader {
return mReceivedPackets; return mReceivedPackets;
} }
/*
* Send a response on the TAP interface.
*
* The passed ByteBuffer is flipped after use.
*
* @param packet The packet to send.
* @throws IOException if the interface can't be written to.
*/
public void sendResponse(final ByteBuffer packet) throws IOException { public void sendResponse(final ByteBuffer packet) throws IOException {
try (FileOutputStream out = new FileOutputStream(mTapFd)) { try (FileOutputStream out = new FileOutputStream(mTapFd)) {
byte[] packetBytes = new byte[packet.limit()]; byte[] packetBytes = new byte[packet.limit()];

View File

@@ -18,6 +18,9 @@ package com.android.testutils;
import java.util.function.Supplier; import java.util.function.Supplier;
/**
* A class grouping some utilities to deal with exceptions.
*/
public class ExceptionUtils { public class ExceptionUtils {
/** /**
* Like a Consumer, but declared to throw an exception. * Like a Consumer, but declared to throw an exception.
@@ -25,6 +28,7 @@ public class ExceptionUtils {
*/ */
@FunctionalInterface @FunctionalInterface
public interface ThrowingConsumer<T> { public interface ThrowingConsumer<T> {
/** @see java.util.function.Consumer */
void accept(T t) throws Exception; void accept(T t) throws Exception;
} }
@@ -34,6 +38,7 @@ public class ExceptionUtils {
*/ */
@FunctionalInterface @FunctionalInterface
public interface ThrowingSupplier<T> { public interface ThrowingSupplier<T> {
/** @see java.util.function.Supplier */
T get() throws Exception; T get() throws Exception;
} }
@@ -42,10 +47,15 @@ public class ExceptionUtils {
*/ */
@FunctionalInterface @FunctionalInterface
public interface ThrowingRunnable { public interface ThrowingRunnable {
/** @see java.lang.Runnable */
void run() throws Exception; void run() throws Exception;
} }
/**
* Convert a supplier that throws into one that doesn't.
*
* The returned supplier returns null in cases where the source throws.
*/
public static <T> Supplier<T> ignoreExceptions(ThrowingSupplier<T> func) { public static <T> Supplier<T> ignoreExceptions(ThrowingSupplier<T> func) {
return () -> { return () -> {
try { try {
@@ -56,6 +66,11 @@ public class ExceptionUtils {
}; };
} }
/**
* Convert a runnable that throws into one that doesn't.
*
* All exceptions are ignored by the returned Runnable.
*/
public static Runnable ignoreExceptions(ThrowingRunnable r) { public static Runnable ignoreExceptions(ThrowingRunnable r) {
return () -> { return () -> {
try { try {

View File

@@ -34,7 +34,7 @@ fun <T> assertLength(expected: Int, got: Array<T>) = got.size.let { len ->
assertEquals(expected, len, "Expected array of length $expected, but was $len for $got") assertEquals(expected, len, "Expected array of length $expected, but was $len for $got")
} }
// Bridge method to help write this in Java. If you're writing Kotlin, consider using native // Bridge method to help write this in Java. If you're writing Kotlin, consider using
// kotlin.test.assertFailsWith instead, as that method is reified and inlined. // kotlin.test.assertFailsWith instead, as that method is reified and inlined.
fun <T : Exception> assertThrows(expected: Class<T>, block: ThrowingRunnable): T { fun <T : Exception> assertThrows(expected: Class<T>, block: ThrowingRunnable): T {
return assertFailsWith(expected.kotlin) { block.run() } return assertFailsWith(expected.kotlin) { block.run() }