Skip to content

Test env#19

Closed
coiby42 wants to merge 18 commits intorhkdump:mainfrom
coiby42:test2_env
Closed

Test env#19
coiby42 wants to merge 18 commits intorhkdump:mainfrom
coiby42:test2_env

Conversation

@coiby42
Copy link
Copy Markdown

@coiby42 coiby42 commented Apr 7, 2026

No description provided.

Github Action will run basic tests including format-check, static-analysis
and unit-tests. And testing farm will run integration tests.

Pull request workflows from forked repositories don't have access to
repository secrets by default. To address this issue, 1) create a dedicated
environment and 2) use pull_request_target so only approved PR can run
the workflow.
coiby and others added 17 commits April 7, 2026 22:03
Instead of comparing hardcoded /boot paths, use ORIGINAL_KERNEL_RELEASE
to verify if the kernel being removed is the original one. This allows
proper identification even if kernels are installed to unusual paths like
/boot/boot/ (e.g. when using guestmount, chroot and dnf install).
If the program aborts after the running test kernel get removed, the
program can fail to build the kernel next time because "make
localmodconfig" will fail. So always reboot to the original kernel.

And add a trap so when the program aborts it will be rebooted to the
original kernel.
When GOOD_COMMIT is omitted, the tool will use exponential search
(doubling steps backwards through history) to find a good commit
automatically, in both git source and RPM modes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Six tasks covering: _rpm_releases array, find_good_commit() function,
tests for all modes, initialize() integration, verify skip, and docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Populates an ordered array of kernel releases during RPM list
processing, needed for index-based traversal in auto-discovery.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Walks backward through history with doubling steps to auto-discover
a good commit when GOOD_COMMIT is not specified. Supports both git
and RPM modes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add test for git mode when no good commit is found (aborts with error)
- Add tests for RPM mode: success case and BAD_COMMIT validation
- Fix exponential search to test index 0/root commit as final fallback
  when the exponential steps skip over the earliest commit
- Add *.swp to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When GOOD_COMMIT is not specified, initialize() now only validates
BAD_COMMIT in RPM mode and leaves GOOD_REF empty. The auto-discovery
happens later in verify_intial_commits().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reorders verify_intial_commits() to check the bad commit first.
If it's not actually bad, there's no point searching for a good
commit. When GOOD_REF is empty, calls find_good_commit() after
verifying bad. When GOOD_REF is set, verifies it normally.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated bisect.conf to clarify that GOOD_COMMIT is optional and describe
the auto-discovery behavior using exponential search backward through history.

Updated README.md to mark GOOD_COMMIT as optional in both Git Mode and RPM
Mode configuration tables.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
So the feature that users only need to specify GOOD_COMMIT can be
tested.
… without crashkernel

When the to-be-tested kernel is already installed but doesn't have the
kernel crashkernel set up, the ssh_auto test plan will fail. Because
kdump-utils will only set up crashkernel parameter when a kernel is
freshly installed. Thus it won't work for already installed kernel. Call
"kdumpctl reset-crashkernel --kernel=ALL" unconditionally to address
this corner case.

Also optimize the code that enables kdump.serive.
Testing harm reject hardcoded provision method 'virtual.testcloud',
    Suitable provision method 'virtual.testcloud' disallowed by configuration

And adjust Makefile so the tests will use virtual.testcloud provision method.
Currently, testing farm doesn't support running a test as specified
user.
@coiby coiby force-pushed the main branch 4 times, most recently from 4ed3d67 to 6d12ccf Compare April 16, 2026 11:30
@coiby coiby closed this Apr 16, 2026
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.

2 participants