Page MenuHomeFreeBSD

netinet tests: Make some tests more reliable when run in parallel
ClosedPublic

Authored by markj on Sep 8 2024, 5:38 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Oct 29, 12:09 PM
Unknown Object (File)
Sat, Oct 26, 6:06 PM
Unknown Object (File)
Mon, Oct 21, 2:47 AM
Unknown Object (File)
Thu, Oct 17, 3:05 PM
Unknown Object (File)
Oct 3 2024, 11:37 PM
Unknown Object (File)
Sep 27 2024, 7:02 AM
Unknown Object (File)
Sep 26 2024, 11:05 AM
Unknown Object (File)
Sep 26 2024, 2:50 AM

Details

Summary

These tests add interfaces to the host even though most of the tests
themselves run in a VNET jail. scapy in particular becomes unhappy when
the list of interfaces changes as it is running, so, to improve
reliability of parallel test runs, isolate tests which add epairs to the
host.

Also serialize arp tests, as they examine the dmesg as part of the test.

The list of modified tests is not exhaustive, it was determined by
running the test suite with parallelization enabled and looking at
failures.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj requested review of this revision.Sep 8 2024, 5:38 PM

I wonder if we shouldn't just default all of these to running in execenv=jail.

In D46606#1062153, @kp wrote:

I wonder if we shouldn't just default all of these to running in execenv=jail.

I'm on the fence. Some netinet tests are already careful to isolate themselves entirely, so don't need another layer of indirection, but it doesn't really hurt either. For now I'm inclined to make the minimum changes needed to make parallel test execution stable (we're getting real close now, at least in my testing); we can always simply the configuration later.

In D46606#1062153, @kp wrote:

I wonder if we shouldn't just default all of these to running in execenv=jail.

I'm on the fence. Some netinet tests are already careful to isolate themselves entirely, so don't need another layer of indirection, but it doesn't really hurt either. For now I'm inclined to make the minimum changes needed to make parallel test execution stable (we're getting real close now, at least in my testing); we can always simply the configuration later.

Fair. That first sentence was my thinking. This is an improvement, and it's not as if it'd be hard to change our mind later if we need to.

This revision is now accepted and ready to land.Sep 8 2024, 7:13 PM