#python sdk bug

1 messages · Page 1 of 1 (latest)

chilly kayak
#

Locally (directly running the uv tests, everything passes.

But, just by just running dagger call test-sdks with these patches (to avoid waiting a lot):

diff --git a/.dagger/sdk_python.go b/.dagger/sdk_python.go
index a61c0478b..e5ee4c01e 100644
--- a/.dagger/sdk_python.go
+++ b/.dagger/sdk_python.go
@@ -43,23 +43,25 @@ func (t PythonSDK) Test(ctx context.Context) (MyCheckStatus, error) {
     base := dag.PythonSDKDev().Container().With(t.Dagger.devEngineSidecar())
     dev := dag.PythonSDKDev(dagger.PythonSDKDevOpts{Container: base})
 
-    versions, err := dag.PythonSDKDev().SupportedVersions(ctx)
-    if err != nil {
-        return CheckCompleted, err
-    }
+    // versions, err := dag.PythonSDKDev().SupportedVersions(ctx)
+    // if err != nil {
+    //     return CheckCompleted, err
+    // }
     jobs := parallel.New()
-    for _, version := range versions {
-        jobs = jobs.WithJob(
-            fmt.Sprintf("test with python version %s", version),
-            func(ctx context.Context) error {
-                _, err := dev.
-                    Test(dagger.PythonSDKDevTestOpts{Version: version}).
-                    Default().
-                    Sync(ctx)
-                return err
-            },
-        )
-    }
+
+    version := "3.11"
+    // for _, version := range versions {
+    jobs = jobs.WithJob(
+        fmt.Sprintf("test with python version %s", version),
+        func(ctx context.Context) error {
+            _, err := dev.
+                Test(dagger.PythonSDKDevTestOpts{Version: version}).
+                Default().
+                Sync(ctx)
+            return err
+        },
+    )
+    // }
     return CheckCompleted, jobs.Run(ctx)
 }
#

and

diff --git a/.dagger/stopgap_checks.go b/.dagger/stopgap_checks.go
index 844e06210..2c239485b 100644
--- a/.dagger/stopgap_checks.go
+++ b/.dagger/stopgap_checks.go
@@ -73,10 +73,12 @@ func (dev *DaggerDev) TestSDKs(ctx context.Context) error {
         Test(context.Context) (MyCheckStatus, error)
     }
     for _, sdk := range allSDKs[tester](dev) {
-        jobs = jobs.WithJob(sdk.Name(), func(ctx context.Context) error {
-            _, err := sdk.Test(ctx)
-            return err
-        })
+        if sdk.Name() == "python" {
+            jobs = jobs.WithJob(sdk.Name(), func(ctx context.Context) error {
+                _, err := sdk.Test(ctx)
+                return err
+            })
+        }
     }
     // Some (but not all) sdk test functions are also aggregators which will be replaced by PR 11211. Call them here too.
     type deprecatedTester interface {
@@ -84,7 +86,9 @@ func (dev *DaggerDev) TestSDKs(ctx context.Context) error {
         Test(context.Context) error
     }
     for _, sdk := range allSDKs[deprecatedTester](dev) {
-        jobs = jobs.WithJob(sdk.Name(), sdk.Test)
+        if sdk.Name() == "python" {
+            jobs = jobs.WithJob(sdk.Name(), sdk.Test)
+        }
     }
     return jobs.Run(ctx)
 }

I get a consistent failure with acceptable wait time

#

But yes, from a debug terminal dagger call -i test-sdks

urban spruce
#

Well I'm not sure if the error you're hitting is related to the flake or related to the fact that the tests purposely close and cancel clients as part of the tests (or both)

chilly kayak
#

Ok I'll check you're PR ahahah. Giving up on this one :-p

urban spruce
#

I'd say that you don't need to block any PRs on that failure, it's on main so feel free to merge stuff still