From a9f094ccff11584bf23adf4e6e86ca4dcd4d234c 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 ccc5a35c02493c0940ac2815fb03d6b5c2cab83a 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 cfbbbade9ef249aa942e74f9be437e6419ad47a8 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 4a99048af6039e8abcfeb7b96773de0ef291d477 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.