Skip to content

IGNITE-29167 Use example file names as test_examples ids - #69

Merged
anton-vinogradov merged 1 commit into
apache:masterfrom
anton-vinogradov:stable-test-ids
Oct 23, 2026
Merged

anton-vinogradov merged 1 commit into
apache:masterfrom
anton-vinogradov:stable-test-ids

Conversation

@anton-vinogradov

Copy link
Copy Markdown
Contributor

JIRA: https://issues.apache.org/jira/browse/IGNITE-29167

Problem

test_examples is parametrized with the absolute path of each example
script. pytest puts that path into the test id, so the test name depends on
the agent's work directory.

On ci2.ignite.apache.org ("Thin client: Python" in the RunAll chain) agents
have two different work roots, so one test has two names and two histories:

tests.test_examples.test_examples(/opt/teamcity/work/425d7af4e9aa99d9/ignite-python-thin-client/tests/__/examples/read_binary_py)
tests.test_examples.test_examples(/data/tcAgent/work/425d7af4e9aa99d9/ignite-python-thin-client/tests/__/examples/read_binary_py)

From 2026-10-03 to 2026-10-18, master ran read_binary.py 106 times:
25 runs under the first name and 81 under the second. The same happens to all
13 example tests. Because of this:

  • the history of each example test is split in two;
  • a PR run is compared with only part of the master history;
  • a passing rerun on an agent with the other work root does not clear the
    failure, because TeamCity sees it as a different test.

Change

Use the script file name as the parameter id (ids=os.path.basename). The
test still runs the script by its full path. The TeamCity name becomes:

tests.test_examples.test_examples(read_binary_py)

TeamCity will see the 13 example tests as new tests once, and their history
starts again from this change.

Testing

  • pytest --collect-only -q tests/test_examples.py shows ids like
    test_examples[read_binary.py] instead of the absolute path.
  • With TEAMCITY_VERSION set, teamcity-messages reports
    tests.test_examples.test_examples(read_binary_py).
  • flake8 tests/test_examples.py passes.

🤖 Generated with Claude Code

The ids were the absolute path to each example script, so the test name
depended on the build agent's work directory. On TeamCity, agents with
different work roots gave the same test different names and histories.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@apache apache deleted a comment from ignite-pr-checker Oct 22, 2026
@anton-vinogradov

Copy link
Copy Markdown
Contributor Author

/runall

@ignite-pr-checker

Copy link
Copy Markdown

@anton-vinogradov the verdict of your /run-all: Thin client: Python build 9432781 ran this PR's head a692834 against Ignite master at b1e0e79. The checker's page shows each failed test with its failure message: Ignite PR Checker.

❌ 3 blockers:

  • tests.test_examples.test_examples(read_binary_py) — no master history (can't prove pre-existing); failed all 5 runs on this branch (new test / no master history) · TC
  • tests.test_examples.test_examples(sql_py) — no master history (can't prove pre-existing); failed all 5 runs on this branch (new test / no master history) · TC
  • tests.test_examples.test_examples(async_sql_py) — no master history (can't prove pre-existing); failed all 5 runs on this branch (new test / no master history) · TC

29 failing tests are not blamed on this PR. The checker's page lists them with their reasons.

new test / no master history: master has no runs of the test on this JDK to compare with: a new test, or one master does not run.

♻️ Settled after one auto re-run: build 9432981 ran the suite again on the same commits.

📝 The JIRA visa is in IGNITE-29167.

This run uses Ignite master at the commit above. If this PR needs an Ignite change that is not in that commit, the run tests this PR without that change. What each label means and what to do: verdict glossary.

@anton-vinogradov
anton-vinogradov merged commit d78d99b into apache:master Oct 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants