Merge "Fix ThreadFeatureCheckerRule on U- devices" into main
This commit is contained in:
commit
7ab992b3c6
5 changed files with 28 additions and 2 deletions
|
|
@ -30,6 +30,8 @@ import android.net.thread.ActiveOperationalDataset;
|
|||
import android.net.thread.ActiveOperationalDataset.Builder;
|
||||
import android.net.thread.ActiveOperationalDataset.SecurityPolicy;
|
||||
import android.net.thread.OperationalDatasetTimestamp;
|
||||
import android.net.thread.utils.ThreadFeatureCheckerRule;
|
||||
import android.net.thread.utils.ThreadFeatureCheckerRule.RequiresThreadFeature;
|
||||
import android.util.SparseArray;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
|
@ -38,6 +40,7 @@ import androidx.test.filters.SmallTest;
|
|||
import com.google.common.primitives.Bytes;
|
||||
import com.google.common.testing.EqualsTester;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
|
|
@ -46,6 +49,7 @@ import java.util.Arrays;
|
|||
|
||||
/** CTS tests for {@link ActiveOperationalDataset}. */
|
||||
@SmallTest
|
||||
@RequiresThreadFeature
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public final class ActiveOperationalDatasetTest {
|
||||
private static final int TYPE_ACTIVE_TIMESTAMP = 14;
|
||||
|
|
@ -81,6 +85,8 @@ public final class ActiveOperationalDatasetTest {
|
|||
private static final ActiveOperationalDataset DEFAULT_DATASET =
|
||||
ActiveOperationalDataset.fromThreadTlvs(VALID_DATASET_TLVS);
|
||||
|
||||
@Rule public final ThreadFeatureCheckerRule mThreadRule = new ThreadFeatureCheckerRule();
|
||||
|
||||
private static byte[] removeTlv(byte[] dataset, int type) {
|
||||
ByteArrayOutputStream os = new ByteArrayOutputStream(dataset.length);
|
||||
int i = 0;
|
||||
|
|
|
|||
|
|
@ -21,12 +21,15 @@ import static com.google.common.truth.Truth.assertThat;
|
|||
import static org.junit.Assert.assertThrows;
|
||||
|
||||
import android.net.thread.OperationalDatasetTimestamp;
|
||||
import android.net.thread.utils.ThreadFeatureCheckerRule;
|
||||
import android.net.thread.utils.ThreadFeatureCheckerRule.RequiresThreadFeature;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.google.common.testing.EqualsTester;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
|
|
@ -34,8 +37,11 @@ import java.time.Instant;
|
|||
|
||||
/** Tests for {@link OperationalDatasetTimestamp}. */
|
||||
@SmallTest
|
||||
@RequiresThreadFeature
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public final class OperationalDatasetTimestampTest {
|
||||
@Rule public final ThreadFeatureCheckerRule mThreadRule = new ThreadFeatureCheckerRule();
|
||||
|
||||
@Test
|
||||
public void fromInstant_tooLargeInstant_throwsIllegalArgument() {
|
||||
assertThrows(
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ import android.net.thread.ActiveOperationalDataset;
|
|||
import android.net.thread.ActiveOperationalDataset.SecurityPolicy;
|
||||
import android.net.thread.OperationalDatasetTimestamp;
|
||||
import android.net.thread.PendingOperationalDataset;
|
||||
import android.net.thread.utils.ThreadFeatureCheckerRule;
|
||||
import android.net.thread.utils.ThreadFeatureCheckerRule.RequiresThreadFeature;
|
||||
import android.util.SparseArray;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
|
@ -36,6 +38,7 @@ import androidx.test.filters.SmallTest;
|
|||
import com.google.common.primitives.Bytes;
|
||||
import com.google.common.testing.EqualsTester;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
|
|
@ -44,8 +47,11 @@ import java.time.Duration;
|
|||
|
||||
/** Tests for {@link PendingOperationalDataset}. */
|
||||
@SmallTest
|
||||
@RequiresThreadFeature
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public final class PendingOperationalDatasetTest {
|
||||
@Rule public final ThreadFeatureCheckerRule mThreadRule = new ThreadFeatureCheckerRule();
|
||||
|
||||
private static ActiveOperationalDataset createActiveDataset() throws Exception {
|
||||
SparseArray<byte[]> channelMask = new SparseArray<>(1);
|
||||
channelMask.put(0, new byte[] {0x00, 0x1f, (byte) 0xff, (byte) 0xe0});
|
||||
|
|
|
|||
|
|
@ -25,17 +25,23 @@ import static com.google.common.truth.Truth.assertThat;
|
|||
import static org.junit.Assert.assertThrows;
|
||||
|
||||
import android.net.thread.ThreadNetworkException;
|
||||
import android.net.thread.utils.ThreadFeatureCheckerRule;
|
||||
import android.net.thread.utils.ThreadFeatureCheckerRule.RequiresThreadFeature;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import androidx.test.filters.SmallTest;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/** CTS tests for {@link ThreadNetworkException}. */
|
||||
@SmallTest
|
||||
@RequiresThreadFeature
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public final class ThreadNetworkExceptionTest {
|
||||
@Rule public final ThreadFeatureCheckerRule mThreadRule = new ThreadFeatureCheckerRule();
|
||||
|
||||
@Test
|
||||
public void constructor_validValues_valuesAreConnectlySet() throws Exception {
|
||||
ThreadNetworkException errorThreadDisabled =
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ import static com.android.testutils.DeviceInfoUtils.isKernelVersionAtLeast;
|
|||
import static org.junit.Assume.assumeTrue;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.thread.ThreadNetworkManager;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.VintfRuntimeInfo;
|
||||
|
||||
|
|
@ -122,7 +121,10 @@ public final class ThreadFeatureCheckerRule implements TestRule {
|
|||
/** Returns {@code true} if this device has the Thread feature supported. */
|
||||
private static boolean hasThreadFeature() {
|
||||
final Context context = ApplicationProvider.getApplicationContext();
|
||||
return context.getSystemService(ThreadNetworkManager.class) != null;
|
||||
|
||||
// Use service name rather than `ThreadNetworkManager.class` to avoid
|
||||
// `ClassNotFoundException` on U- devices.
|
||||
return context.getSystemService("thread_network") != null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue