Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion scripts/conformance/server-parity/codec-deadline-cells.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ actors_stopped() {
local name state
for name in "$@"; do
if ! state=$(docker inspect --format '{{.State.Running}}' "$name" 2>&1); then
if [[ "$state" == *"No such object"* || "$state" == *"No such container"* ]]; then
# The Docker CLI on the Ubuntu 26 runner image prints these in lower case.
if [[ "${state,,}" == *"no such object"* || "${state,,}" == *"no such container"* ]]; then
continue
fi
echo "::error::Could not confirm that $name stopped: $state" >&2
Expand Down
13 changes: 12 additions & 1 deletion tests/Unit/ServerParityCodecDeadlineCellsTest.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ case "$command" in
rm -f "$LIVE/$name" ;;
inspect)
if [[ -n "\${INSPECT_FAILS:-}" ]]; then echo "Cannot connect to the Docker daemon" >&2; exit 1; fi
if [[ -e "$LIVE/$name" ]]; then echo true; else echo "Error: No such object: $name" >&2; exit 1; fi ;;
if [[ -e "$LIVE/$name" ]]; then echo true; exit 0; fi
if [[ -n "\${LOWERCASE_ABSENT:-}" ]]; then echo "error: no such object: $name" >&2; else echo "Error: No such object: $name" >&2; fi
exit 1 ;;
*) exit 2 ;;
esac
`);
Expand Down Expand Up @@ -84,6 +86,15 @@ test('every cell runs once, in its own scope, after the previous one stopped, an
assert.deepEqual(states, []);
});

// Run 41338240707 on #925: the Ubuntu 26 runner image's Docker CLI reports a
// removed container in lower case, which the absence check did not accept.
test("a removed container reported in lower case counts as stopped", () => {
const {child, statuses, events} = runCells({LOWERCASE_ABSENT: '1'});
assert.equal(child.status, 0, child.stderr);
assert.deepEqual(events, DATABASES.map(started));
assert.deepEqual(new Set(Object.values(statuses)), new Set(['0']));
});

// Run 40110569900 on #748: the MySQL-family cells exited 2 because their
// unique scopes (cpu-mysql-8.0, ...) held a dot the cell refuses.
test('every cell gets a unique scope the cell accepts', () => {
Expand Down
Loading