From 1f470f552920142e9323873ad248ef80aeb12b4f Mon Sep 17 00:00:00 2001 From: Jeffery Date: Wed, 24 Jun 2026 13:38:26 +0000 Subject: [PATCH] =?UTF-8?q?test(entrypoint):=20=E9=A9=97=E8=AD=89=20Node.j?= =?UTF-8?q?s=20=E5=85=A5=E5=8F=A3=E9=8C=AF=E8=AA=A4=E8=BC=B8=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/entrypoint_test.sh | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/entrypoint_test.sh b/tests/entrypoint_test.sh index 8055217..f3a0b3d 100755 --- a/tests/entrypoint_test.sh +++ b/tests/entrypoint_test.sh @@ -58,6 +58,8 @@ test_missing_oauth() { assert_status "$status" 1 grep -q "OAUTH is required" "$tmpdir/stderr" || die "missing OAUTH error" + grep -q "status=failed" "$tmpdir/github-output" || die "missing OAUTH failed status output" + grep -q "OAUTH is required" "$tmpdir/github-output" || die "missing OAUTH output" rm -rf "$tmpdir" } @@ -73,6 +75,8 @@ test_missing_model() { assert_status "$status" 1 grep -q "MODEL is required" "$tmpdir/stderr" || die "missing MODEL error" + grep -q "status=failed" "$tmpdir/github-output" || die "missing MODEL failed status output" + grep -q "MODEL is required" "$tmpdir/github-output" || die "missing MODEL output" rm -rf "$tmpdir" } @@ -88,6 +92,8 @@ test_invalid_base64() { assert_status "$status" 1 grep -q "valid base64" "$tmpdir/stderr" || die "invalid base64 error" + grep -q "status=failed" "$tmpdir/github-output" || die "invalid base64 failed status output" + grep -q "valid base64" "$tmpdir/github-output" || die "invalid base64 output" rm -rf "$tmpdir" } @@ -103,6 +109,8 @@ test_non_object_json() { assert_status "$status" 1 grep -q "JSON object" "$tmpdir/stderr" || die "non-object JSON error" + grep -q "status=failed" "$tmpdir/github-output" || die "non-object JSON failed status output" + grep -q "JSON object" "$tmpdir/github-output" || die "non-object JSON output" rm -rf "$tmpdir" } @@ -160,6 +168,28 @@ test_failure_output() { rm -rf "$tmpdir" } +test_missing_codex_command_output() { + local tmpdir + local bindir + tmpdir="$(mktemp -d)" + bindir="$tmpdir/bin" + mkdir -p "$bindir" + ln -s "$(command -v bash)" "$bindir/bash" + ln -s "$(command -v dirname)" "$bindir/dirname" + ln -s "$(command -v node)" "$bindir/node" + + set +e + run_entrypoint "$tmpdir" PATH="$bindir" OAUTH="$(encoded_json '{}')" MODEL="gpt-test" PROMPT="hello" + local status="$?" + set -e + + assert_status "$status" 1 + grep -q "status=failed" "$tmpdir/github-output" || die "missing codex command failed status output" + grep -q "spawn codex ENOENT" "$tmpdir/github-output" || die "missing codex command error output" + [[ ! -e "$tmpdir/codex-home/auth.json" ]] || die "auth.json was not cleaned up after missing codex" + rm -rf "$tmpdir" +} + test_missing_oauth test_missing_model test_invalid_base64 @@ -168,5 +198,6 @@ test_success_output test_empty_prompt test_prompt_with_shell_characters test_failure_output +test_missing_codex_command_output echo "entrypoint tests passed"