← Back to issue list

Refactor integration tests to split data and code

View original Github issue

Metadata

Project
craft-parts
Number
#275
Type
issue
State
open
Author
tigarmo
Labels
Created
Updated
Closed

Current evaluation

Maintainer-proposed refactor of tests/integration to move inline temp-file creation into test-data directories with a datadir-like fixture. Open since 2021, last human comment 2022, no implementation landed; tests still create fixtures inline.

Suggested action: keep open

Reason: The underlying problem is still present: grep shows no datadir/test-data fixture in tests/conftest.py and integration tests (e.g. tests/integration/sources/test_deb.py) still build sample files inline in tmp_path, so the refactor is not done. It is a maintainer-authored, clearly scoped task with a concrete proposal (per-test data dirs + fixture), but it has had no activity since 2022 and no labels, so it needs triage/prioritization rather than closure.

Impact: 30 Quick Win: 12.0 Staleness: 75 Complexity: 60 Confidence: 80 Support Request: 0

Issue body

Many integration tests (in `tests/integration`) start out by creating a bunch of temporary files and directories for whatever is being tested (go files, cmake, autotools, etc). This is undesirable because it distracts from the actual thing that we want to check (craft-part's support for those technologies). There are some alternatives to support "test data" in `pytest`. See the rejected PR #272 for an attempt using `pytest-datadir`. We should come to a decision and refactor/cleanup the tests.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 30
Quick Win: 12.0
Staleness: 75
Complexity: 60
Confidence: 80
Support Request: 0
keep open Maintainer-proposed refactor of tests/integration to move inline temp-file creation into test-data directories with a datadir-like fixture. Open since 2021, last human comment 2022, no implementation landed; tests still create fixtures inline.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 30
Confidence: 85
Support Request: 5
needs triage Refactor integration tests to separate test data from code. Proposed a directory structure in 2022, but no maintainer decision or labels exist. Untriaged and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 30
Confidence: 75
Support Request: 5
needs triage Refactor integration tests to separate test data from code. Proposed a directory structure in 2022, but remains unlabelled and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 35
Confidence: 65
Support Request: 10
close stale Refactor integration tests to separate test data from code, avoiding inline temp file creation. Proposes a directory structure and pytest fixture to copy data into tmpdirs. Awaiting implementation decision; stalled for 465 days.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1282 [refactor] Separate unit and integration tests charmcraft open Refactor to separate unit and integration tests in the tests directory. The repo now has distinct tests/unit (60 files) and tests/integration (107 files) directories, indicating the separation described in the issue has been achieved.
71%