Medium sized job: map autobuild and selftest envs inside selftest

Andrew Bartlett abartlet at samba.org
Fri Sep 17 22:53:21 UTC 2021


I recently posted about work needed on our oss-fuzz code, and I was so
pleased when Uri picked that up. 

In thanking him we got talking about the challenge with making a small
contribution to Samba - so many changes either require you to know a
lot about much of the codebase, or are potentially long.

So I wanted to start a theme (which should be a wiki page eventually)
on Samba tasks that like the oss-fuzz task don't have too many
dependencies and which have a clear finish.  

Even the oss-fuzz issue had a couple of tidy-ups still needed, but
essentially it was all done in just a week, with nothing more still
needed. 

"Samba tasks without fish-hooks"

On that theme:

Mapping autobuild jobs to selftest jobs and gitlab-ci jobs

We have spilt up 'make test' to make it parallel, but the mechanism has
become over-burdened.  At the start, the '--exclude-envs' and '
--include-envs' was a simple hack, with only a couple of environments
split out.

Now we have a massive list in autobuild.py, and we have had jobs go
'missing' with copy-and-paste errors.

What I would like is that --include-envs and --exclude-envs be replaced
with --autobuild-task.  

And then put that mapping (mapping a list of autobuild jobs to a list
of selftest envrionments) in selftest.pl, along with an assertion that
all environments need to be in that list (abort if a test is declared
without an autobuild_task for it to go with, and abort if an autobuild
task is called that isn't in the list).

That would allow make_test() in script/autobuild.pl to instead output
 
--exclude-env=${NAME}

instead of the --include-env/--exclude-env pair, and so ensure that
every test always runs in some autobuild environment (well, a whole
environment could be missed/typos, but it will be harder.

I'm very happy to help/advise, but can't jump into this right now.  

(The main downside is the need to wrangle the Perl in selftest).

Andrew Bartlett

-- 
Andrew Bartlett (he/him)       https://samba.org/~abartlet/
Samba Team Member (since 2001) https://samba.org
Samba Team Lead, Catalyst IT   https://catalyst.net.nz/services/samba

Samba Development and Support, Catalyst IT - Expert Open Source
Solutions




More information about the samba-technical mailing list