From 593899c2b25db8ebb50020ee2b7c40335caeea2c Mon Sep 17 00:00:00 2001 From: ibaker Date: Tue, 3 Dec 2024 10:03:27 -0800 Subject: [PATCH] Enable lint errors in `datasource` tests Fix existing violations PiperOrigin-RevId: 702377837 --- libraries/datasource/build.gradle | 5 ----- .../datasource/DataSourceBitmapLoaderTest.java | 10 ++++------ .../FileDescriptorDataSourceTest.java | 9 ++++----- ...taSourceUsingFileDescriptorContractTest.java | 5 ++--- .../HttpEngineDataSourceContractTest.java | 17 +++++++++++++++++ .../MediaDataSourceAdapterContractTest.java | 2 ++ .../datasource/FileDataSourceContractTest.java | 5 ++--- .../datasource/HttpEngineDataSourceTest.java | 8 +++----- 8 files changed, 34 insertions(+), 27 deletions(-) diff --git a/libraries/datasource/build.gradle b/libraries/datasource/build.gradle index c40c24cd45..9fd2da4f81 100644 --- a/libraries/datasource/build.gradle +++ b/libraries/datasource/build.gradle @@ -27,11 +27,6 @@ android { test.assets.srcDir '../test_data/src/test/assets' } - lintOptions { - // TODO: b/353490583 - Enable this once the violations are fixed. - checkTestSources false - } - publishing { singleVariant('release') { withSourcesJar() diff --git a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/DataSourceBitmapLoaderTest.java b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/DataSourceBitmapLoaderTest.java index 08e0232e56..6c0e80813b 100644 --- a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/DataSourceBitmapLoaderTest.java +++ b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/DataSourceBitmapLoaderTest.java @@ -27,12 +27,10 @@ import androidx.media3.common.ParserException; import androidx.media3.test.utils.TestUtil; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.io.Files; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; import java.io.File; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.concurrent.ExecutionException; import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; @@ -185,7 +183,7 @@ public class DataSourceBitmapLoaderTest { byte[] imageData = TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); File file = tempFolder.newFile(); - Files.write(Paths.get(file.getAbsolutePath()), imageData); + Files.write(imageData, file); Uri uri = Uri.fromFile(file); DataSourceBitmapLoader bitmapLoader = new DataSourceBitmapLoader(MoreExecutors.newDirectExecutorService(), dataSourceFactory); @@ -203,7 +201,7 @@ public class DataSourceBitmapLoaderTest { byte[] imageData = TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); File file = tempFolder.newFile(); - Files.write(Paths.get(file.getAbsolutePath()), imageData); + Files.write(imageData, file); Uri uri = Uri.fromFile(file); BitmapFactory.Options options = new BitmapFactory.Options(); options.inMutable = true; @@ -222,7 +220,7 @@ public class DataSourceBitmapLoaderTest { byte[] imageData = TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); File file = tempFolder.newFile(); - Files.write(Path.of(file.getAbsolutePath()), imageData); + Files.write(imageData, file); Uri uri = Uri.fromFile(file); int maximumOutputDimension = 2000; DataSourceBitmapLoader bitmapLoader = diff --git a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/FileDescriptorDataSourceTest.java b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/FileDescriptorDataSourceTest.java index 184022954e..05ae08d762 100644 --- a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/FileDescriptorDataSourceTest.java +++ b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/FileDescriptorDataSourceTest.java @@ -23,10 +23,9 @@ import androidx.media3.common.C; import androidx.media3.test.utils.TestUtil; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.io.Files; import java.io.File; import java.io.FileInputStream; -import java.nio.file.Files; -import java.nio.file.Paths; import java.util.Arrays; import org.junit.Rule; import org.junit.Test; @@ -45,7 +44,7 @@ public final class FileDescriptorDataSourceTest { @Test public void testReadViaFileDescriptor() throws Exception { File file = tempFolder.newFile(); - Files.write(Paths.get(file.getAbsolutePath()), DATA); + Files.write(DATA, file); try (FileInputStream inputStream = new FileInputStream(file)) { DataSource dataSource = @@ -59,7 +58,7 @@ public final class FileDescriptorDataSourceTest { @Test public void testReadViaFileDescriptorWithUnsetLength() throws Exception { File file = tempFolder.newFile(); - Files.write(Paths.get(file.getAbsolutePath()), DATA); + Files.write(DATA, file); try (FileInputStream inputStream = new FileInputStream(file)) { DataSource dataSource = @@ -73,7 +72,7 @@ public final class FileDescriptorDataSourceTest { @Test public void testReadViaFileDescriptorWithOffset() throws Exception { File file = tempFolder.newFile(); - Files.write(Paths.get(file.getAbsolutePath()), DATA); + Files.write(DATA, file); try (FileInputStream inputStream = new FileInputStream(file)) { DataSource dataSource = diff --git a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/FileDescriptorDataSourceUsingFileDescriptorContractTest.java b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/FileDescriptorDataSourceUsingFileDescriptorContractTest.java index 6181ed70e1..fb87e5b98a 100644 --- a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/FileDescriptorDataSourceUsingFileDescriptorContractTest.java +++ b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/FileDescriptorDataSourceUsingFileDescriptorContractTest.java @@ -21,12 +21,11 @@ import androidx.media3.test.utils.DataSourceContractTest; import androidx.media3.test.utils.TestUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.collect.ImmutableList; +import com.google.common.io.Files; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; import java.util.List; import org.junit.After; import org.junit.Ignore; @@ -58,7 +57,7 @@ public class FileDescriptorDataSourceUsingFileDescriptorContractTest @Override protected List createDataSources() throws Exception { File file = tempFolder.newFile(); - Files.write(Paths.get(file.getAbsolutePath()), DATA); + Files.write(DATA, file); inputStream = new FileInputStream(file); return ImmutableList.of( new FileDescriptorDataSource(inputStream.getFD(), /* offset= */ 0, DATA.length), diff --git a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/HttpEngineDataSourceContractTest.java b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/HttpEngineDataSourceContractTest.java index 9e4fcc2e8d..3594c426bd 100644 --- a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/HttpEngineDataSourceContractTest.java +++ b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/HttpEngineDataSourceContractTest.java @@ -15,26 +15,43 @@ */ package androidx.media3.datasource; +import static org.junit.Assume.assumeTrue; + import android.net.http.HttpEngine; +import android.os.Build; +import android.os.ext.SdkExtensions; +import androidx.annotation.RequiresExtension; import androidx.media3.test.utils.DataSourceContractTest; import androidx.media3.test.utils.HttpDataSourceTestEnv; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.filters.SdkSuppress; import com.google.common.collect.ImmutableList; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.junit.After; +import org.junit.Before; import org.junit.Rule; import org.junit.runner.RunWith; /** {@link DataSource} contract tests for {@link HttpEngineDataSource}. */ +// @SdkSuppress doesn't support extensions but lint doesn't understand that, so have to use +// @RequiresExtension: https://issuetracker.google.com/382043552 +@SuppressWarnings("UseSdkSuppress") +@SdkSuppress(minSdkVersion = Build.VERSION_CODES.S) +@RequiresExtension(extension = Build.VERSION_CODES.S, version = 7) @RunWith(AndroidJUnit4.class) public class HttpEngineDataSourceContractTest extends DataSourceContractTest { @Rule public HttpDataSourceTestEnv httpDataSourceTestEnv = new HttpDataSourceTestEnv(); private final ExecutorService executorService = Executors.newSingleThreadExecutor(); + @Before + public void before() { + assumeTrue(SdkExtensions.getExtensionVersion(Build.VERSION_CODES.S) >= 7); + } + @After public void tearDown() { executorService.shutdown(); diff --git a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/MediaDataSourceAdapterContractTest.java b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/MediaDataSourceAdapterContractTest.java index d2dd77c654..26eabb5a71 100644 --- a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/MediaDataSourceAdapterContractTest.java +++ b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/MediaDataSourceAdapterContractTest.java @@ -23,6 +23,7 @@ import androidx.media3.common.C; import androidx.media3.test.utils.DataSourceContractTest; import androidx.media3.test.utils.TestUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.filters.SdkSuppress; import com.google.common.collect.ImmutableList; import org.junit.Ignore; import org.junit.Test; @@ -30,6 +31,7 @@ import org.junit.runner.RunWith; /** {@link DataSource} contract tests for {@link MediaDataSourceAdapter}. */ @RunWith(AndroidJUnit4.class) +@SdkSuppress(minSdkVersion = 23) public class MediaDataSourceAdapterContractTest extends DataSourceContractTest { private static final byte[] DATA = TestUtil.buildTestData(20); diff --git a/libraries/datasource/src/test/java/androidx/media3/datasource/FileDataSourceContractTest.java b/libraries/datasource/src/test/java/androidx/media3/datasource/FileDataSourceContractTest.java index 1a9d6c01f8..5e7af6292b 100644 --- a/libraries/datasource/src/test/java/androidx/media3/datasource/FileDataSourceContractTest.java +++ b/libraries/datasource/src/test/java/androidx/media3/datasource/FileDataSourceContractTest.java @@ -20,9 +20,8 @@ import androidx.media3.test.utils.DataSourceContractTest; import androidx.media3.test.utils.TestUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.collect.ImmutableList; +import com.google.common.io.Files; import java.io.File; -import java.nio.file.Files; -import java.nio.file.Paths; import org.junit.Before; import org.junit.Rule; import org.junit.rules.TemporaryFolder; @@ -41,7 +40,7 @@ public class FileDataSourceContractTest extends DataSourceContractTest { @Before public void writeFile() throws Exception { File file = tempFolder.newFile(); - Files.write(Paths.get(file.getAbsolutePath()), DATA); + Files.write(DATA, file); uri = Uri.fromFile(file); } diff --git a/libraries/datasource/src/test/java/androidx/media3/datasource/HttpEngineDataSourceTest.java b/libraries/datasource/src/test/java/androidx/media3/datasource/HttpEngineDataSourceTest.java index d03756cd8e..6955dccdee 100644 --- a/libraries/datasource/src/test/java/androidx/media3/datasource/HttpEngineDataSourceTest.java +++ b/libraries/datasource/src/test/java/androidx/media3/datasource/HttpEngineDataSourceTest.java @@ -84,8 +84,6 @@ public final class HttpEngineDataSourceTest { private static final String TEST_CONTENT_TYPE = "test/test"; private static final byte[] TEST_POST_BODY = Util.getUtf8Bytes("test post body"); private static final long TEST_CONTENT_LENGTH = 16000L; - private static final int TEST_CONNECTION_STATUS = 5; - private static final int TEST_INVALID_CONNECTION_STATUS = -1; private DataSpec testDataSpec; private DataSpec testPostDataSpec; @@ -1002,7 +1000,7 @@ public final class HttpEngineDataSourceTest { assertThat(e).isInstanceOf(HttpEngineDataSource.OpenException.class); assertThat(e).hasCauseThat().isInstanceOf(SocketTimeoutException.class); assertThat(((HttpEngineDataSource.OpenException) e).httpEngineConnectionStatus) - .isEqualTo(TEST_CONNECTION_STATUS); + .isEqualTo(UrlRequest.Status.READING_RESPONSE); timedOutLatch.countDown(); } } @@ -1042,7 +1040,7 @@ public final class HttpEngineDataSourceTest { assertThat(e).isInstanceOf(HttpEngineDataSource.OpenException.class); assertThat(e).hasCauseThat().isInstanceOf(InterruptedIOException.class); assertThat(((HttpEngineDataSource.OpenException) e).httpEngineConnectionStatus) - .isEqualTo(TEST_INVALID_CONNECTION_STATUS); + .isEqualTo(UrlRequest.Status.INVALID); timedOutLatch.countDown(); } } @@ -1458,7 +1456,7 @@ public final class HttpEngineDataSourceTest { invocation -> { UrlRequest.StatusListener statusListener = (UrlRequest.StatusListener) invocation.getArguments()[0]; - statusListener.onStatus(TEST_CONNECTION_STATUS); + statusListener.onStatus(UrlRequest.Status.READING_RESPONSE); return null; }) .when(mockUrlRequest)