← Back to issue list

tests: split the plugins tests in the same directory

View original Github issue

Metadata

Project
snapcraft
Number
#1944
Type
pull request
State
merged
Author
come-maiz
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #1944 in commit 2dd0377e9, consolidating split plugin test suites in one package so Python 3.6 unittest discovery no longer failed on directories missing __init__.py.

Resolution: closed resolved

Reason: PR #1944 was merged as commit 2dd0377e9. Its test-layout change prevents Python 3.6 unittest discovery from crashing on plugin-test directories without __init__.py.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Previously we applied a temporary solution to split long running suites, taking advantage that the discovery of python unittests will skip the directories without an __init__.py file. However, this behaviour changed on python3.6 and now the discovery is crashing if the directory doesn't have an __init__.py file. - [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)? - [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh unit`? -----

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #1944 in commit 2dd0377e9, consolidating split plugin test suites in one package so Python 3.6 unittest discovery no longer failed on directories missing __init__.py.
stealth/space-bunny-alpha — closed resolved Merged in #1944 via commit 2dd0377e9, consolidating plugin tests into one directory so Python 3.6 unittest discovery no longer encounters directories without __init__.py.
qwen/qwen3.6-35b-a3b — — Merged. Fixes Python 3.6 unittest discovery crashes by restructuring plugin test directories, replacing a temporary workaround that relied on missing init files. Approved and merged with 24 files changed.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Resolves Python 3.6+ unittest discovery crashes by properly splitting plugins tests within the same directory, replacing a temporary workaround that relied on missing __init__.py files.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#947 tests: deduplicate tests for python-based plugins craft-parts merged Merged PR #947 as commit 1a2631e1, consolidating duplicated Python plugin tests into BasePythonPlugin coverage and closing #935.
76%
#1014 tests: reorganize plugin tests into subdirectory. snapcraft merged Merged #1014 as d97c00e8f, moving plugin unit tests into a dedicated subdirectory to make the suite manageable and resolve LP #1651903.
76%
#1791 tests: python plugin integration tests moved to a separate suite snapcraft merged Merged PR #1791 (commit 91b6639f2) by come-maiz: Python plugin integration tests were moved out of the oversized plugins suite into their own suite, following the same split already done for catkin in #1760.
74%
#2853 test(plugins): split package install command tests charmcraft open Test-only refactor splitting test_get_package_install_commands into per-behaviour tests for python/poetry/uv plugins, adding a plugins/conftest.py make_plugin factory and dropping pytest_check. Approved, CLA green, awaiting maintainer merge.
73%
#935 Remove duplicated python-based plugin tests craft-parts closed Duplicated Python plugin tests were consolidated into BasePythonPlugin coverage by merged PR #947 (commit 1a2631e1).
70%