Skip to content

Commit

Permalink
Repro test
Browse files Browse the repository at this point in the history
  • Loading branch information
jrodbx committed Jun 18, 2024
1 parent 7ca1390 commit c420703
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 8 deletions.
13 changes: 5 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,15 @@ jobs:
- name: Setup Gradle
uses: gradle/gradle-build-action@v3

- name: Run All Tests
run: ./gradlew check
- name: Record Sample Snapshots
run: ./gradlew sample:recordPaparazziDebug --tests=RenderingIssuesTest

- name: Upload Test Failures
if: failure()
- name: Upload Sample Snapshots
uses: actions/upload-artifact@v4
with:
name: test-failures-${{ matrix.os }}-${{ matrix.java-version }}
name: sample-snapshots-${{ matrix.os }}-${{ matrix.java-version }}
path: |
**/build/reports/tests/*/
**/build/paparazzi/failures/
paparazzi-gradle-plugin/src/test/projects/**/build/reports/paparazzi/**/images/
sample/src/test/snapshots/**
publish:
runs-on: ubuntu-latest
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package app.cash.paparazzi.sample

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.material.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import app.cash.paparazzi.Paparazzi
import com.android.ide.common.rendering.api.SessionParams
import org.junit.Rule
import org.junit.Test
import java.util.Locale


class RenderingIssuesTest {
@get:Rule
val paparazzi = Paparazzi(
renderingMode = SessionParams.RenderingMode.SHRINK,
)

@Test
fun example() {
println(gitShortSha())

paparazzi.snapshot("${osName()}-${gitShortSha()}") {
Box(
modifier = Modifier.background(Color(0xFF000033))
) {
Text("ExampleText", color = Color.White)
}
}
}

fun osName(): String {
val osName = System.getProperty("os.name")!!.lowercase(Locale.US)
return when {
osName.startsWith("windows") -> "win"
osName.startsWith("mac") -> {
val osArch = System.getProperty("os.arch")!!.lowercase(Locale.US)
if (osArch.startsWith("x86")) "mac-x86" else "mac-arm"
}

else -> "linux"
}
}

fun gitShortSha(): String {
val command = "git rev-parse --short HEAD^"
val p = ProcessBuilder().command(*command.split(" ").toTypedArray()).start()
val exit = p.waitFor()
if (exit == 0) {
return p.inputStream.bufferedReader().readText()
} else {
throw Exception(p.errorStream.bufferedReader().readText())
}
}
}

0 comments on commit c420703

Please sign in to comment.