@@ -788,6 +788,41 @@ func (suite *ExtensionsSuiteQEMU) TestExtensionsWasmEdge() {
788788 suite .Require ().NoError (suite .WaitForPodToBeRunning (suite .ctx , 5 * time .Minute , "default" , "wasmedge-test" ))
789789}
790790
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+
791826func init () {
792827 allSuites = append (allSuites , & ExtensionsSuiteQEMU {})
793828}
0 commit comments