@@ -788,6 +788,41 @@ func (suite *ExtensionsSuiteQEMU) TestExtensionsWasmEdge() {
788
788
suite .Require ().NoError (suite .WaitForPodToBeRunning (suite .ctx , 5 * time .Minute , "default" , "wasmedge-test" ))
789
789
}
790
790
791
+ // TestExtensionsSpin verifies spin runtime class is working.
792
+ func (suite * ExtensionsSuiteQEMU ) TestExtensionsSpin () {
793
+ _ , err := suite .Clientset .NodeV1 ().RuntimeClasses ().Create (suite .ctx , & nodev1.RuntimeClass {
794
+ ObjectMeta : metav1.ObjectMeta {
795
+ Name : "wasmtime-spin-v2" ,
796
+ },
797
+ Handler : "spin" ,
798
+ }, metav1.CreateOptions {})
799
+ defer suite .Clientset .NodeV1 ().RuntimeClasses ().Delete (suite .ctx , "wasmtime-spin-v2" , metav1.DeleteOptions {}) //nolint:errcheck
800
+
801
+ suite .Require ().NoError (err )
802
+
803
+ _ , err = suite .Clientset .CoreV1 ().Pods ("default" ).Create (suite .ctx , & corev1.Pod {
804
+ ObjectMeta : metav1.ObjectMeta {
805
+ Name : "spin-test" ,
806
+ },
807
+ Spec : corev1.PodSpec {
808
+ Containers : []corev1.Container {
809
+ {
810
+ Name : "spin-test" ,
811
+ Image : "ghcr.io/spinkube/containerd-shim-spin/examples/spin-rust-hello" ,
812
+ Command : []string {"/" },
813
+ },
814
+ },
815
+ RuntimeClassName : pointer .To ("wasmtime-spin-v2" ),
816
+ },
817
+ }, metav1.CreateOptions {})
818
+ defer suite .Clientset .CoreV1 ().Pods ("default" ).Delete (suite .ctx , "spin-test" , metav1.DeleteOptions {}) //nolint:errcheck
819
+
820
+ suite .Require ().NoError (err )
821
+
822
+ // wait for the pod to be ready
823
+ suite .Require ().NoError (suite .WaitForPodToBeRunning (suite .ctx , 5 * time .Minute , "default" , "spin-test" ))
824
+ }
825
+
791
826
func init () {
792
827
allSuites = append (allSuites , & ExtensionsSuiteQEMU {})
793
828
}
0 commit comments