Page MenuHomeFreeBSD

CI: Add full test support
Needs ReviewPublic

Authored by bofh on Dec 10 2024, 12:51 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 19, 5:12 PM
Unknown Object (File)
Thu, Apr 17, 2:16 AM
Unknown Object (File)
Mon, Apr 14, 5:34 PM
Unknown Object (File)
Wed, Apr 9, 2:02 AM
Unknown Object (File)
Mar 9 2025, 12:55 PM
Unknown Object (File)
Mar 3 2025, 5:32 AM
Unknown Object (File)
Feb 28 2025, 5:51 PM
Unknown Object (File)
Feb 1 2025, 9:10 PM

Details

Reviewers
lwhsu
olivier
imp
Summary

The patch adds support for running full tests in the local CI Environment. New features added:

  • New target ci-full which runs the full test. This is also the default now
  • Renamed the previous target ci-smokeit to ci-smoke
  • Added user overridable variable CIDISABLED which supports disabling some tests. For now the available usages are disks, dtrace, notyet and zfs or a space separated mix of all of those.
  • Unlike previous if the available memory is more than 16G a default of 8G will be used
  • Added local installation of the xmlstartet pkg
  • Removed some unnecessary debug messages
  • Added dummybuf kernel module to the list of modules to be loaded on the VM

Things to do:

  • I am still trying to make the results create some meaningful display in the terminal
  • Start using these in our CI pipeline
Test Plan

The features that can be tested:

  • make TARGET=<TARGET> TARGET_ARCH=<TARGET_ARCH> CITYPE=full ci
  • make TARGET=<TARGET> TARGET_ARCH=<TARGET_ARCH> ci is also the same as above as CITYPE full is the default now

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

bofh requested review of this revision.Dec 10 2024, 12:51 PM
bofh edited the summary of this revision. (Show Details)
bofh edited the test plan for this revision. (Show Details)

For now remove the codes related to disabling the tests. As per @lwhsu these tests are hacky and might be difficult to be removed in the future.

Is there a target to extract the test reports from meta disk of the VM to the host?

tests/ci/Makefile
75

Move this before the first use of BHYVE_EXTRA_DISK_PARAM

78

Where is this META_DIROUT being used?

79

Do we still need this as there is ci-create-meta target?

161

Where is xmlstarlet being used?

207

Why only these two commands get output suppressed?

  • Unmute `ci-create-metaa directives
  • Move BHYVE_EXTRA_DISK_PARAM?= close to the first use
bofh marked 2 inline comments as done.Mon, Apr 21, 2:11 PM
bofh added inline comments.
tests/ci/Makefile
79

These DISCS has nothing to do with ci-create-meta target.

tests/ci/Makefile
79

The comment is not attached to the original lines after the differential has been updated. I mean the META_* variables. It seems META_DIR is in that target and will META_DIROUT be used in extract?

Speaking of using /tmp, is it possible to have a variable serves as a prefix? In the building machines, we don't have infinite /tmp space for many jobs running in parallel.

I don't think this would block merging this, but we need this for letting current Jenkins setup can use it. In Jenkins put everything related to job to ${WORKSPACE}, which will be set to job's workspace automatically.