Skip to content

Commit 41daadc

Browse files
barnabasbusaclaude
andcommitted
fix(tests): guard against nil RunScript result in integration tests
When RunScript returns (nil, error) due to gRPC failures, tests that ignore the error and immediately access runResult fields panic with a nil pointer dereference. Add require.NotNil guards at 12 call sites across 10 test files to produce clean test failures instead of panics. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent b26123b commit 41daadc

10 files changed

+12
-0
lines changed

internal_testsuites/golang/testsuite/startosis_add_service_test/startosis_add_service_with_ready_conditions_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ func (suite *StartosisAddServiceTestSuite) TestStartosis_AddServiceWithReadyCond
5555
runResult, _ := suite.RunScript(ctx, script)
5656

5757
t := suite.T()
58+
require.NotNil(t, runResult, "RunScript returned nil result")
5859
expectedLastAssertionErrorStr := fmt.Sprintf("Verification failed '%v' '==' '%v'", okStatusCode, serverErrorStatusCode)
5960

6061
require.Nil(t, runResult.InterpretationError, "Unexpected interpretation error")

internal_testsuites/golang/testsuite/startosis_add_service_test/startosis_add_services_with_ready_conditions_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ func (suite *StartosisAddServiceTestSuite) TestStartosis_AddServicesWithReadyCon
6565
runResult, _ := suite.RunScript(ctx, script)
6666

6767
t := suite.T()
68+
require.NotNil(t, runResult, "RunScript returned nil result")
6869

6970
require.Nil(t, runResult.InterpretationError, "Unexpected interpretation error")
7071
require.Empty(t, runResult.ValidationErrors, "Unexpected validation error")

internal_testsuites/golang/testsuite/startosis_ports_wait_test/startosis_ports_wait_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ func (suite *StartosisPortsWaitTestSuite) TestStartosis_AssertFailBecausePortIsN
5858
runResult, _ := suite.RunScript(ctx, assertFailScript)
5959

6060
t := suite.T()
61+
require.NotNil(t, runResult, "RunScript returned nil result")
6162

6263
require.Nil(t, runResult.InterpretationError, "Unexpected interpretation error")
6364
require.Empty(t, runResult.ValidationErrors, "Unexpected validation error")
@@ -69,6 +70,7 @@ func (suite *StartosisPortsWaitTestSuite) TestStartosis_AssertFailBecauseEmptySt
6970
runResult, _ := suite.RunScript(ctx, assertFailScript2)
7071

7172
t := suite.T()
73+
require.NotNil(t, runResult, "RunScript returned nil result")
7274

7375
require.NotNil(t, runResult.InterpretationError, "Expected interpretation error coming from wait validation")
7476
require.Empty(t, runResult.ValidationErrors, "Unexpected validation error")

internal_testsuites/golang/testsuite/startosis_request_wait_assert_test/starlark_validation_failure_invalid_port_id_request_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ func (suite *StartosisRequestWaitAssertTestSuite) TestStarlark_InvalidPortIdRequ
3232
runResult, _ := suite.RunScript(ctx, requestInvalidPortIDFailScript)
3333

3434
t := suite.T()
35+
require.NotNil(t, runResult, "RunScript returned nil result")
3536
require.Nil(t, runResult.InterpretationError, "Unexpected interpretation error")
3637
require.NotEmpty(t, runResult.ValidationErrors, "Expected validation errors")
3738
require.Len(t, runResult.ValidationErrors, 1)

internal_testsuites/golang/testsuite/startosis_request_wait_assert_test/starlark_validation_failure_invalid_port_id_wait_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ func (suite *StartosisRequestWaitAssertTestSuite) TestStarlark_InvalidPortIdWait
3232
runResult, _ := suite.RunScript(ctx, waitInvalidPortIDFailScript)
3333

3434
t := suite.T()
35+
require.NotNil(t, runResult, "RunScript returned nil result")
3536
require.Nil(t, runResult.InterpretationError, "Unexpected interpretation error")
3637
require.NotEmpty(t, runResult.ValidationErrors, "Expected validation error")
3738
require.Len(t, runResult.ValidationErrors, 1)

internal_testsuites/golang/testsuite/startosis_request_wait_assert_test/starlark_validation_failure_invalid_service_name_request_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ func (suite *StartosisRequestWaitAssertTestSuite) TestStarlark_InvalidServiceReq
3232
runResult, _ := suite.RunScript(ctx, requestInvalidServiceNameScript)
3333

3434
t := suite.T()
35+
require.NotNil(t, runResult, "RunScript returned nil result")
3536
require.Nil(t, runResult.InterpretationError, "Unexpected interpretation error")
3637
require.NotEmpty(t, runResult.ValidationErrors, "Expected validation error")
3738
require.Len(t, runResult.ValidationErrors, 1)

internal_testsuites/golang/testsuite/startosis_request_wait_assert_test/starlark_validation_failure_invalid_service_wait_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ func (suite *StartosisRequestWaitAssertTestSuite) TestStarlark_InvalidServiceWai
3131
ctx := context.Background()
3232
t := suite.T()
3333
runResult, _ := suite.RunScript(ctx, waitInvalidServiceTestScript)
34+
require.NotNil(t, runResult, "RunScript returned nil result")
3435

3536
require.Nil(t, runResult.InterpretationError, "Unexpected interpretation error")
3637
require.NotEmpty(t, runResult.ValidationErrors, "Expected validation error")

internal_testsuites/golang/testsuite/startosis_request_wait_assert_test/startosis_assert_fail_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ func (suite *StartosisRequestWaitAssertTestSuite) TestStartosis_AssertFail() {
3535
ctx := context.Background()
3636
t := suite.T()
3737
runResult, _ := suite.RunScript(ctx, assertFailScript)
38+
require.NotNil(t, runResult, "RunScript returned nil result")
3839

3940
require.Nil(t, runResult.InterpretationError, "Unexpected interpretation error")
4041
require.Empty(t, runResult.ValidationErrors, "Unexpected validation error")

internal_testsuites/golang/testsuite/startosis_request_wait_assert_test/startosis_timeout_wait_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ func (suite *StartosisRequestWaitAssertTestSuite) TestStartosis_TimeoutWait() {
3131
ctx := context.Background()
3232
t := suite.T()
3333
runResult, _ := suite.RunScript(ctx, timeoutWaitStartosisScript)
34+
require.NotNil(t, runResult, "RunScript returned nil result")
3435

3536
require.Nil(t, runResult.InterpretationError, "Unexpected interpretation error")
3637
require.Empty(t, runResult.ValidationErrors, "Unexpected validation error")

internal_testsuites/golang/testsuite/startosis_run_sh_task_test/run_task_sh_task_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ func TestStarlark_RunshTaskFileArtifact(t *testing.T) {
6060
func TestStarlark_RunshTimesoutSuccess(t *testing.T) {
6161
ctx := context.Background()
6262
runResult, _ := test_helpers.SetupSimpleEnclaveAndRunScript(t, ctx, runshTest, runshStarlarkWithTimeout)
63+
require.NotNil(t, runResult, "RunScript returned nil result")
6364
expectedErrorMessage := "The exec request timed out after 5 seconds"
6465
require.NotNil(t, runResult.ExecutionError)
6566
require.Contains(t, runResult.ExecutionError.GetErrorMessage(), expectedErrorMessage)
@@ -68,6 +69,7 @@ func TestStarlark_RunshTimesoutSuccess(t *testing.T) {
6869
func TestStarlark_RunshAcceptableCodes(t *testing.T) {
6970
ctx := context.Background()
7071
runResult, _ := test_helpers.SetupSimpleEnclaveAndRunScript(t, ctx, runshTest, runStarlarkWithAcceptableCodes)
72+
require.NotNil(t, runResult, "RunScript returned nil result")
7173
expectedOutput := "Command returned with exit code '0' with no output\nCommand returned with exit code '1' with no output\nCommand returned with exit code '42' and the following output:\n--------------------\nHi\n\n--------------------\n"
7274
require.Nil(t, runResult.ExecutionError)
7375
require.Equal(t, expectedOutput, string(runResult.RunOutput))

0 commit comments

Comments
 (0)