diff --git a/tests/kernel-cases/shell/KNOWN_FAILING b/tests/kernel-cases/shell/KNOWN_FAILING index 07f36eb3c3..2cf6335439 100644 --- a/tests/kernel-cases/shell/KNOWN_FAILING +++ b/tests/kernel-cases/shell/KNOWN_FAILING @@ -1,4 +1,5 @@ # The shell cases that fail today, one a line: ` `. Sorted. The kernel # rig gate (.github/workflows/kernel-rig.yml) fails on a case that fails and is not listed here, # and on a listed case that passes: a fix removes its line in the same pull request. -# Baseline: not seeded yet; seeded from a develop run after the SMLib pin bump. +# Baseline: 45f69c0e5 with SMLib 60b1c6a, aarch64 Linux. +cov-replace-face-step-onto-the-higher-face not supported yet: SMLib's offset of faces refuses (Unsupported) a move that closes a neighbouring face (the step wall) to nothing diff --git a/tests/kernel-cases/shell/cov-replace-face-step-onto-the-higher-face/expected.json b/tests/kernel-cases/shell/cov-replace-face-step-onto-the-higher-face/expected.json new file mode 100644 index 0000000000..74ab5be41b --- /dev/null +++ b/tests/kernel-cases/shell/cov-replace-face-step-onto-the-higher-face/expected.json @@ -0,0 +1,22 @@ +{ + "sources": [], + "what": "the lower top of a stepped block replaced by the plane of the higher top: the step wall closes up and the tops become one face", + "source": "analytic", + "method": "stepped block (x 0..20 to z=20, x 20..40 to z=10); the lower top goes to z=20: a 40x30x20 block, V = 24000, A = 2(1200+800+600), the coplanar tops one face: 6 faces", + "body_count": 1, + "faces": 6, + "volume_mm3": 24000.0, + "area_mm2": 5200.0, + "bbox": { + "min": [ + 0, + 0, + 0 + ], + "max": [ + 40, + 30, + 20 + ] + } +} diff --git a/tests/kernel-cases/shell/cov-replace-face-step-onto-the-higher-face/recipe.json b/tests/kernel-cases/shell/cov-replace-face-step-onto-the-higher-face/recipe.json new file mode 100644 index 0000000000..8883816149 --- /dev/null +++ b/tests/kernel-cases/shell/cov-replace-face-step-onto-the-higher-face/recipe.json @@ -0,0 +1,39 @@ +{ + "commands": [ + { + "command": "solid.box", + "params": { + "length": 40, + "width": 30, + "height": 10, + "body_name": "Block" + } + }, + { + "command": "solid.box", + "params": { + "length": 20, + "width": 30, + "height": 20, + "operation": "join" + } + }, + { + "command": "solid.replace_face", + "params": { + "faces": [ + [ + 30, + 15, + 10 + ] + ], + "target_face": [ + 10, + 15, + 20 + ] + } + } + ] +} diff --git a/tests/kernel-cases/shell/cov-replace-face-top-onto-a-plane/expected.json b/tests/kernel-cases/shell/cov-replace-face-top-onto-a-plane/expected.json new file mode 100644 index 0000000000..c66f515d9d --- /dev/null +++ b/tests/kernel-cases/shell/cov-replace-face-top-onto-a-plane/expected.json @@ -0,0 +1,22 @@ +{ + "sources": [], + "what": "a block's top face replaced by the plane z=15", + "source": "analytic", + "method": "the top moves from z=10 to 15: a 40x30x15 block, V = 18000, A = 2(1200 + 600 + 450)", + "body_count": 1, + "faces": 6, + "volume_mm3": 18000.0, + "area_mm2": 4500.0, + "bbox": { + "min": [ + 0, + 0, + 0 + ], + "max": [ + 40, + 30, + 15 + ] + } +} diff --git a/tests/kernel-cases/shell/cov-replace-face-top-onto-a-plane/recipe.json b/tests/kernel-cases/shell/cov-replace-face-top-onto-a-plane/recipe.json new file mode 100644 index 0000000000..f36e4201ea --- /dev/null +++ b/tests/kernel-cases/shell/cov-replace-face-top-onto-a-plane/recipe.json @@ -0,0 +1,37 @@ +{ + "commands": [ + { + "command": "solid.box", + "params": { + "length": 40, + "width": 30, + "height": 10, + "body_name": "Block" + } + }, + { + "command": "solid.replace_face", + "params": { + "faces": [ + [ + 20, + 15, + 10 + ] + ], + "target": { + "origin": [ + 0, + 0, + 15 + ], + "normal": [ + 0, + 0, + 1 + ] + } + } + } + ] +}