From a2e6ac974bf48dc8995239ea3716dc71c796de7a Mon Sep 17 00:00:00 2001 From: dahn Date: Fri, 8 May 2026 15:19:04 +0200 Subject: [PATCH 1/4] test: add __init__.py to plugins test directories to make them Python packages The test/integration/plugins directory and its subdirectories were missing __init__.py files, preventing Python from treating them as packages. This caused local/relative imports to fail when running plugin tests in a deployed Marvin environment, making it impossible to modularize tests for plugins. Fixes #3679 --- test/integration/plugins/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 test/integration/plugins/__init__.py diff --git a/test/integration/plugins/__init__.py b/test/integration/plugins/__init__.py new file mode 100644 index 000000000000..13a83393a912 --- /dev/null +++ b/test/integration/plugins/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. From dffe36ec98cd7b04203a3ed4259101ab075fe014 Mon Sep 17 00:00:00 2001 From: dahn Date: Fri, 8 May 2026 15:21:36 +0200 Subject: [PATCH 2/4] test: add __init__.py to plugins/datera --- test/integration/plugins/datera/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 test/integration/plugins/datera/__init__.py diff --git a/test/integration/plugins/datera/__init__.py b/test/integration/plugins/datera/__init__.py new file mode 100644 index 000000000000..13a83393a912 --- /dev/null +++ b/test/integration/plugins/datera/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. From c54e91bc739df940fa205b08fc53ab01faece786 Mon Sep 17 00:00:00 2001 From: dahn Date: Fri, 8 May 2026 15:30:32 +0200 Subject: [PATCH 3/4] test: add __init__.py to plugins/ldap --- test/integration/plugins/ldap/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 test/integration/plugins/ldap/__init__.py diff --git a/test/integration/plugins/ldap/__init__.py b/test/integration/plugins/ldap/__init__.py new file mode 100644 index 000000000000..13a83393a912 --- /dev/null +++ b/test/integration/plugins/ldap/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. From 634de87582df8c94ae1f5873a6f8151783289b9f Mon Sep 17 00:00:00 2001 From: dahn Date: Fri, 8 May 2026 15:53:48 +0200 Subject: [PATCH 4/4] Add missing __init__.py to remaining plugins test subdirectories Completes fix for #3679 by adding Python package init files to all plugin test subdirectories: linstor, quota, scaleio, solidfire, storpool, tf --- test/integration/plugins/linstor/__init__.py | 16 ++++++++++++++++ test/integration/plugins/quota/__init__.py | 16 ++++++++++++++++ test/integration/plugins/scaleio/__init__.py | 16 ++++++++++++++++ test/integration/plugins/solidfire/__init__.py | 16 ++++++++++++++++ test/integration/plugins/storpool/__init__.py | 16 ++++++++++++++++ test/integration/plugins/tf/__init__.py | 16 ++++++++++++++++ 6 files changed, 96 insertions(+) create mode 100644 test/integration/plugins/linstor/__init__.py create mode 100644 test/integration/plugins/quota/__init__.py create mode 100644 test/integration/plugins/scaleio/__init__.py create mode 100644 test/integration/plugins/solidfire/__init__.py create mode 100644 test/integration/plugins/storpool/__init__.py create mode 100644 test/integration/plugins/tf/__init__.py diff --git a/test/integration/plugins/linstor/__init__.py b/test/integration/plugins/linstor/__init__.py new file mode 100644 index 000000000000..13a83393a912 --- /dev/null +++ b/test/integration/plugins/linstor/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/test/integration/plugins/quota/__init__.py b/test/integration/plugins/quota/__init__.py new file mode 100644 index 000000000000..13a83393a912 --- /dev/null +++ b/test/integration/plugins/quota/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/test/integration/plugins/scaleio/__init__.py b/test/integration/plugins/scaleio/__init__.py new file mode 100644 index 000000000000..13a83393a912 --- /dev/null +++ b/test/integration/plugins/scaleio/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/test/integration/plugins/solidfire/__init__.py b/test/integration/plugins/solidfire/__init__.py new file mode 100644 index 000000000000..13a83393a912 --- /dev/null +++ b/test/integration/plugins/solidfire/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/test/integration/plugins/storpool/__init__.py b/test/integration/plugins/storpool/__init__.py new file mode 100644 index 000000000000..13a83393a912 --- /dev/null +++ b/test/integration/plugins/storpool/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/test/integration/plugins/tf/__init__.py b/test/integration/plugins/tf/__init__.py new file mode 100644 index 000000000000..13a83393a912 --- /dev/null +++ b/test/integration/plugins/tf/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License.