Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15598d20 authored by Ang Li's avatar Ang Li
Browse files

Change the assets path adaptive to device/deviceless tests.

The specification of assets path would not affect the test run, but
would take effect when some screenshots mismatch and we'd like to upload
the screenshots. Since device and deviceless tests do not share
screenshot folder, we would have to adaptively specify that.

Test: atest -c SpaRoboRNGTests
Bug: 300278210
Change-Id: I09f10834d16eabcc10a0f027d525c8259d3d58e9
parent fa48db8c
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -94,3 +94,18 @@ class SettingsScreenshotTestRule(
        screenshotRule.assertBitmapAgainstGolden(view.drawIntoBitmap(), goldenIdentifier, matcher)
    }
}

/** Create a [SettingsScreenshotTestRule] for settings screenshot tests. */
fun settingsScreenshotTestRule(
    emulationSpec: DeviceEmulationSpec,
): SettingsScreenshotTestRule {
    val assetPath = if (Build.FINGERPRINT.contains("robolectric")) {
        "frameworks/base/packages/SettingsLib/Spa/screenshot/robotests/assets"
    } else {
        "frameworks/base/packages/SettingsLib/Spa/screenshot/assets"
    }
    return SettingsScreenshotTestRule(
        emulationSpec,
        assetPath
    )
}
+2 −3
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.outlined.Launch
import androidx.compose.material.icons.outlined.Delete
import androidx.compose.material.icons.outlined.WarningAmber
import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule
import com.android.settingslib.spa.screenshot.util.settingsScreenshotTestRule
import com.android.settingslib.spa.widget.button.ActionButton
import com.android.settingslib.spa.widget.button.ActionButtons
import org.junit.Rule
@@ -42,9 +42,8 @@ class ActionButtonsScreenshotTest(emulationSpec: DeviceEmulationSpec) {

    @get:Rule
    val screenshotRule =
        SettingsScreenshotTestRule(
        settingsScreenshotTestRule(
            emulationSpec,
            "frameworks/base/packages/SettingsLib/Spa/screenshot/assets"
        )

    @Test
+2 −3
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
package com.android.settingslib.spa.screenshot.widget.chart

import androidx.compose.material3.MaterialTheme
import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule
import com.android.settingslib.spa.screenshot.util.settingsScreenshotTestRule
import com.android.settingslib.spa.widget.chart.BarChart
import com.android.settingslib.spa.widget.chart.BarChartData
import com.android.settingslib.spa.widget.chart.BarChartModel
@@ -41,9 +41,8 @@ class BarChartScreenshotTest(emulationSpec: DeviceEmulationSpec) {

    @get:Rule
    val screenshotRule =
        SettingsScreenshotTestRule(
        settingsScreenshotTestRule(
            emulationSpec,
            "frameworks/base/packages/SettingsLib/Spa/screenshot/assets"
        )

    @Test
+2 −3
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package com.android.settingslib.spa.screenshot.widget.chart

import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule
import com.android.settingslib.spa.screenshot.util.settingsScreenshotTestRule
import com.android.settingslib.spa.widget.chart.LineChart
import com.android.settingslib.spa.widget.chart.LineChartData
import com.android.settingslib.spa.widget.chart.LineChartModel
@@ -41,9 +41,8 @@ class LineChartScreenshotTest(emulationSpec: DeviceEmulationSpec) {

    @get:Rule
    val screenshotRule =
        SettingsScreenshotTestRule(
        settingsScreenshotTestRule(
            emulationSpec,
            "frameworks/base/packages/SettingsLib/Spa/screenshot/assets"
        )

    @Test
+2 −3
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package com.android.settingslib.spa.screenshot.widget.chart

import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule
import com.android.settingslib.spa.screenshot.util.settingsScreenshotTestRule
import com.android.settingslib.spa.widget.chart.PieChart
import com.android.settingslib.spa.widget.chart.PieChartData
import com.android.settingslib.spa.widget.chart.PieChartModel
@@ -39,9 +39,8 @@ class PieChartScreenshotTest(emulationSpec: DeviceEmulationSpec) {

    @get:Rule
    val screenshotRule =
        SettingsScreenshotTestRule(
        settingsScreenshotTestRule(
            emulationSpec,
            "frameworks/base/packages/SettingsLib/Spa/screenshot/assets"
        )

    @Test
Loading