From 44a4081859c3501014e9162f09f965fa53ca018c Mon Sep 17 00:00:00 2001 From: Ayush Patel Date: Mon, 4 May 2026 16:36:14 +0530 Subject: [PATCH 1/2] fix: expose scenario name in $test binding Signed-off-by: Ayush Patel --- pkg/runner/info.go | 7 ++++--- pkg/runner/runner.go | 11 ++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/pkg/runner/info.go b/pkg/runner/info.go index 2e81c0173..9a7d4f48d 100644 --- a/pkg/runner/info.go +++ b/pkg/runner/info.go @@ -5,9 +5,10 @@ import ( ) type TestInfo struct { - Id int - ScenarioId int - Metadata metav1.ObjectMeta + Id int + ScenarioId int + ScenarioName string + Metadata metav1.ObjectMeta } type StepInfo struct { diff --git a/pkg/runner/runner.go b/pkg/runner/runner.go index d148aca44..beb78dcd8 100644 --- a/pkg/runner/runner.go +++ b/pkg/runner/runner.go @@ -137,7 +137,7 @@ func (r *runner) run(ctx context.Context, m mainstart, nsOptions v1alpha2.Namesp return } // setup context - tc, err := r.setupTestContext(ctx, testId, scenarioId, tc, test, bindings...) + tc, err := r.setupTestContext(ctx, testId, scenarioId, scenarioName, tc, test, bindings...) if fail(t, err) { return } @@ -516,11 +516,12 @@ func (r *runner) setupNamespace(ctx context.Context, nsOptions v1alpha2.Namespac return tc, nil } -func (r *runner) setupTestContext(ctx context.Context, testId int, scenarioId int, tc enginecontext.TestContext, test discovery.Test, bindings ...v1alpha1.Binding) (enginecontext.TestContext, error) { +func (r *runner) setupTestContext(ctx context.Context, testId int, scenarioId int, scenarioName string, tc enginecontext.TestContext, test discovery.Test, bindings ...v1alpha1.Binding) (enginecontext.TestContext, error) { tc = tc.WithBinding("test", TestInfo{ - Id: testId, - ScenarioId: scenarioId, - Metadata: test.Test.ObjectMeta, + Id: testId, + ScenarioId: scenarioId, + ScenarioName: scenarioName, + Metadata: test.Test.ObjectMeta, }) tc, err := enginecontext.WithBindings(tc, bindings...) if err != nil { From ba6e4bf18363969c08c0ad4a74d712c17695f060 Mon Sep 17 00:00:00 2001 From: Ayush Patel Date: Mon, 4 May 2026 16:46:35 +0530 Subject: [PATCH 2/2] test: verify ScenarioName is set in $test binding Signed-off-by: Ayush Patel --- pkg/runner/runner_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkg/runner/runner_test.go b/pkg/runner/runner_test.go index c94074952..2fbf0d8b5 100644 --- a/pkg/runner/runner_test.go +++ b/pkg/runner/runner_test.go @@ -417,6 +417,28 @@ func Test_runner_run(t *testing.T) { } } +func Test_runner_setupTestContext(t *testing.T) { + r := &runner{clock: clock.RealClock{}} + tc := enginecontext.EmptyContext(clock.RealClock{}) + test := discovery.Test{ + Test: &model.Test{ + ObjectMeta: metav1.ObjectMeta{Name: "my-test"}, + }, + } + got, err := r.setupTestContext(context.TODO(), 1, 2, "my-scenario", tc, test) + assert.NoError(t, err) + binding, err := got.Bindings().Get("$test") + assert.NoError(t, err) + val, err := binding.Value() + assert.NoError(t, err) + info, ok := val.(TestInfo) + assert.True(t, ok) + assert.Equal(t, 1, info.Id) + assert.Equal(t, 2, info.ScenarioId) + assert.Equal(t, "my-scenario", info.ScenarioName) + assert.Equal(t, "my-test", info.Metadata.Name) +} + func Test_runner_onFail(t *testing.T) { { r := &runner{