Remove SF_DUMP type
We no longer have SF_DUMP trace types, these are just perfetto traces.
Bug: 426524518
Test: atest FlickerLibTest
Change-Id: I8bf5ae6e22aa6156049ea3e11d8b905c96f6e20c
diff --git a/libraries/flicker/src/android/tools/flicker/legacy/runner/TransitionExecutionRule.kt b/libraries/flicker/src/android/tools/flicker/legacy/runner/TransitionExecutionRule.kt
index d130cb2..be109ff 100644
--- a/libraries/flicker/src/android/tools/flicker/legacy/runner/TransitionExecutionRule.kt
+++ b/libraries/flicker/src/android/tools/flicker/legacy/runner/TransitionExecutionRule.kt
@@ -20,6 +20,7 @@
import android.tools.flicker.junit.Utils
import android.tools.flicker.legacy.FlickerTestData
import android.tools.io.TraceType
+import android.tools.io.WINSCOPE_EXT
import android.tools.traces.getCurrentState
import android.tools.traces.io.ResultWriter
import android.tools.traces.monitors.NoTraceMonitor
@@ -126,14 +127,14 @@
tags.add(tag)
val deviceStateBytes = getCurrentState()
- val wmDumpFile = File.createTempFile(TraceType.WM_DUMP.fileName, tag)
- val layersDumpFile = File.createTempFile(TraceType.SF_DUMP.fileName, tag)
+ val wmDumpFile = File.createTempFile("trace.$WINSCOPE_EXT", tag)
+ val layersDumpFile = File.createTempFile(TraceType.PERFETTO.fileName, tag)
wmDumpFile.writeBytes(deviceStateBytes.first)
layersDumpFile.writeBytes(deviceStateBytes.second)
resultWriter.addTraceResult(TraceType.WM_DUMP, wmDumpFile, tag)
- resultWriter.addTraceResult(TraceType.SF_DUMP, layersDumpFile, tag)
+ resultWriter.addTraceResult(TraceType.PERFETTO, layersDumpFile, tag)
}
}
}
diff --git a/libraries/flicker/utils/src/android/tools/io/DumpType.kt b/libraries/flicker/utils/src/android/tools/io/DumpType.kt
new file mode 100644
index 0000000..d29f807
--- /dev/null
+++ b/libraries/flicker/utils/src/android/tools/io/DumpType.kt
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2025 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 android.tools.io
+
+enum class DumpType {
+ SF,
+ WM,
+}
diff --git a/libraries/flicker/utils/src/android/tools/io/TraceType.kt b/libraries/flicker/utils/src/android/tools/io/TraceType.kt
index 192d44d..76935d9 100644
--- a/libraries/flicker/utils/src/android/tools/io/TraceType.kt
+++ b/libraries/flicker/utils/src/android/tools/io/TraceType.kt
@@ -25,7 +25,6 @@
WM("wm_trace", WINSCOPE_EXT, isTrace = true),
EVENT_LOG("eventlog", WINSCOPE_EXT, isTrace = true),
SCREEN_RECORDING("transition", "mp4", isTrace = true),
- SF_DUMP("trace", PERFETTO_EXT, isTrace = false),
WM_DUMP("trace", WINSCOPE_EXT, isTrace = false),
VIEW("view_capture_trace", WINSCOPE_EXT, isTrace = true),
PERFETTO("trace", PERFETTO_EXT, isTrace = true),
diff --git a/libraries/flicker/utils/src/android/tools/traces/Utils.kt b/libraries/flicker/utils/src/android/tools/traces/Utils.kt
index 3e1a7a9..520a589 100644
--- a/libraries/flicker/utils/src/android/tools/traces/Utils.kt
+++ b/libraries/flicker/utils/src/android/tools/traces/Utils.kt
@@ -24,6 +24,7 @@
import android.os.Process
import android.os.SystemClock
import android.tools.MILLISECOND_AS_NANOSECONDS
+import android.tools.io.DumpType
import android.tools.io.TraceType
import android.tools.traces.io.ResultReader
import android.tools.traces.monitors.PerfettoTraceMonitor
@@ -107,19 +108,14 @@
* @param dumpTypes Flags determining which types of traces should be included in the dump
*/
fun getCurrentState(
- vararg dumpTypes: TraceType = arrayOf(TraceType.SF_DUMP, TraceType.WM_DUMP)
+ vararg dumpTypes: DumpType = arrayOf(DumpType.SF, DumpType.WM)
): Pair<ByteArray, ByteArray> {
if (dumpTypes.isEmpty()) {
throw IllegalArgumentException("No dump specified")
}
- val traceTypes = dumpTypes.filter { it.isTrace }
- if (traceTypes.isNotEmpty()) {
- throw IllegalArgumentException("Only dump types are supported. Invalid types: $traceTypes")
- }
-
- val requestedWmDump = dumpTypes.contains(TraceType.WM_DUMP)
- val requestedSfDump = dumpTypes.contains(TraceType.SF_DUMP)
+ val requestedWmDump = dumpTypes.contains(DumpType.WM)
+ val requestedSfDump = dumpTypes.contains(DumpType.SF)
Log.d(LOG_TAG, "Requesting new device state dump")
@@ -170,7 +166,7 @@
*/
@JvmOverloads
fun getCurrentStateDumpNullable(
- vararg dumpTypes: TraceType = arrayOf(TraceType.SF_DUMP, TraceType.WM_DUMP),
+ vararg dumpTypes: DumpType = arrayOf(DumpType.SF, DumpType.WM),
clearCacheAfterParsing: Boolean = true,
): NullableDeviceStateDump {
val currentStateDump = getCurrentState(*dumpTypes)
@@ -183,7 +179,7 @@
@JvmOverloads
fun getCurrentStateDump(
- vararg dumpTypes: TraceType = arrayOf(TraceType.SF_DUMP, TraceType.WM_DUMP),
+ vararg dumpTypes: DumpType = arrayOf(DumpType.SF, DumpType.WM),
clearCacheAfterParsing: Boolean = true,
): DeviceStateDump {
val currentStateDump = getCurrentState(*dumpTypes)
diff --git a/libraries/flicker/utils/src/android/tools/traces/io/ResultReader.kt b/libraries/flicker/utils/src/android/tools/traces/io/ResultReader.kt
index 232c39e..3d769a4 100644
--- a/libraries/flicker/utils/src/android/tools/traces/io/ResultReader.kt
+++ b/libraries/flicker/utils/src/android/tools/traces/io/ResultReader.kt
@@ -153,7 +153,7 @@
@Throws(IOException::class)
override fun readLayersDump(tag: String): LayersTrace? {
return withTracing("readLayersDump#$tag") {
- val descriptor = ResultArtifactDescriptor(TraceType.SF_DUMP, tag)
+ val descriptor = ResultArtifactDescriptor(TraceType.PERFETTO, tag)
readBytes(descriptor)?.let {
TraceProcessorSession.loadPerfettoTrace(it) { session ->
LayersTraceParser().parse(session, clearCache = true)
diff --git a/libraries/flicker/utils/test/src/android/tools/UtilsTest.kt b/libraries/flicker/utils/test/src/android/tools/UtilsTest.kt
index 4d57fb2..b6dd8f9 100644
--- a/libraries/flicker/utils/test/src/android/tools/UtilsTest.kt
+++ b/libraries/flicker/utils/test/src/android/tools/UtilsTest.kt
@@ -16,7 +16,7 @@
package android.tools
-import android.tools.io.TraceType
+import android.tools.io.DumpType
import android.tools.testutils.CleanFlickerEnvironmentRule
import android.tools.traces.NullableDeviceStateDump
import android.tools.traces.getCurrentState
@@ -31,13 +31,13 @@
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
class UtilsTest {
private fun getCurrState(
- vararg dumpTypes: TraceType = arrayOf(TraceType.SF_DUMP, TraceType.WM_DUMP)
+ vararg dumpTypes: DumpType = arrayOf(DumpType.SF, DumpType.WM)
): Pair<ByteArray, ByteArray> {
return getCurrentState(*dumpTypes)
}
private fun getCurrStateDump(
- vararg dumpTypes: TraceType = arrayOf(TraceType.SF_DUMP, TraceType.WM_DUMP)
+ vararg dumpTypes: DumpType = arrayOf(DumpType.SF, DumpType.WM)
): NullableDeviceStateDump {
return getCurrentStateDumpNullable(*dumpTypes, clearCacheAfterParsing = false)
}
@@ -51,20 +51,20 @@
@Test
fun canFetchCurrentDeviceStateOnlyWm() {
- val currStateDump = this.getCurrState(TraceType.WM_DUMP)
+ val currStateDump = this.getCurrState(DumpType.WM)
Truth.assertThat(currStateDump.first).isNotEmpty()
Truth.assertThat(currStateDump.second).isEmpty()
- val currState = this.getCurrStateDump(TraceType.WM_DUMP)
+ val currState = this.getCurrStateDump(DumpType.WM)
Truth.assertThat(currState.wmState).isNotNull()
Truth.assertThat(currState.layerState).isNull()
}
@Test
fun canFetchCurrentDeviceStateOnlyLayers() {
- val currStateDump = this.getCurrState(TraceType.SF_DUMP)
+ val currStateDump = this.getCurrState(DumpType.SF)
Truth.assertThat(currStateDump.first).isEmpty()
Truth.assertThat(currStateDump.second).isNotEmpty()
- val currState = this.getCurrStateDump(TraceType.SF_DUMP)
+ val currState = this.getCurrStateDump(DumpType.SF)
Truth.assertThat(currState.wmState).isNull()
Truth.assertThat(currState.layerState).isNotNull()
}
diff --git a/libraries/flicker/utils/test/src/android/tools/io/ResultArtifactDescriptorTest.kt b/libraries/flicker/utils/test/src/android/tools/io/ResultArtifactDescriptorTest.kt
index ec19d52..629750f 100644
--- a/libraries/flicker/utils/test/src/android/tools/io/ResultArtifactDescriptorTest.kt
+++ b/libraries/flicker/utils/test/src/android/tools/io/ResultArtifactDescriptorTest.kt
@@ -34,7 +34,6 @@
createDescriptorAndValidateFileName(TraceType.PERFETTO)
createDescriptorAndValidateFileName(TraceType.SCREEN_RECORDING)
createDescriptorAndValidateFileName(TraceType.WM_DUMP)
- createDescriptorAndValidateFileName(TraceType.SF_DUMP)
}
@Test
@@ -45,7 +44,6 @@
createDescriptorAndValidateFileNameWithTag(TraceType.PERFETTO)
createDescriptorAndValidateFileNameWithTag(TraceType.SCREEN_RECORDING)
createDescriptorAndValidateFileNameWithTag(TraceType.WM_DUMP)
- createDescriptorAndValidateFileNameWithTag(TraceType.SF_DUMP)
}
private fun createDescriptorAndValidateFileName(traceType: TraceType) {
diff --git a/libraries/flicker/utils/test/src/android/tools/parsers/wm/WindowManagerDumpParserTest.kt b/libraries/flicker/utils/test/src/android/tools/parsers/wm/WindowManagerDumpParserTest.kt
index e0250cb..052a0ab 100644
--- a/libraries/flicker/utils/test/src/android/tools/parsers/wm/WindowManagerDumpParserTest.kt
+++ b/libraries/flicker/utils/test/src/android/tools/parsers/wm/WindowManagerDumpParserTest.kt
@@ -17,7 +17,7 @@
package android.tools.parsers.wm
import android.tools.Cache
-import android.tools.io.TraceType
+import android.tools.io.DumpType
import android.tools.testutils.CleanFlickerEnvironmentRule
import android.tools.testutils.readAsset
import android.tools.traces.getCurrentState
@@ -44,7 +44,7 @@
@Test
fun canParseFromNewDump() {
- val data = getCurrentState(TraceType.WM_DUMP)
+ val data = getCurrentState(DumpType.WM)
val trace = WindowManagerDumpParser().parse(data.first)
Truth.assertWithMessage("Unable to parse dump").that(trace.entries).hasSize(1)
}