Require real merge commit and keep level tests embedded

This commit is contained in:
Joe Tretter
2026-05-19 16:18:58 -05:00
parent 5db02adbe9
commit ceb0d503f4
22 changed files with 201 additions and 93 deletions

View File

@@ -18,6 +18,7 @@ data class CommitNode(
val id: String,
val message: String,
val authorTimestampSeconds: Long? = null,
val parentCount: Int = 0,
)
data class InteractiveAddSession(
@@ -57,6 +58,8 @@ data class Level(
val setup: () -> RepoState,
val nativeSetup: (NativeLevelSetup.() -> Boolean)? = null,
val testCases: List<LevelTestCase> = emptyList(),
val negativeTestCases: List<LevelTestCase> = emptyList(),
val setupChecks: List<LevelSetupCheck> = emptyList(),
)
data class LevelTestCase(
@@ -64,4 +67,10 @@ data class LevelTestCase(
val commands: List<String>,
)
data class LevelSetupCheck(
val name: String,
val failureMessage: String,
val predicate: (RepoState) -> Boolean,
)
fun sampleLevels(): List<Level> = allGithugLevels()