Re: "Testkit" for exim?

David North via Exim-users <[email protected]> Thu, 14 May 2026 09:50:16 +0100
Newsgroups gmane.mail.exim.user
Message-ID <[email protected]>
On Thu, 14 May 2026, at 09:32, Andrew C Aitchison via Exim-users wrote:
> On Thu, 14 May 2026, Leonardo Boselli via Exim-users wrote:
> 
> > On Wed, 13 May 2026, Jeremy Harris via Exim-users wrote:
> >> -------- Original Message --------
> >> To: Andreas Barth <[email protected]>
> >> Subject: Re: [exim] "Testkit" for exim?
> >>> does anybody know a tool to check exims configuration in a kind of
> >>> regression test, i.e. that mails that should be accepted are accepted,
> >>> that those that should be rejected are rejected etc?
> > (…)
> >> You could use that as a basis, adding
> >> a (or several) new testcase using your
> >> configuration and with your desired
> >> subtests.
> >
> > I had the impression that the testkit Andrea wanted was to test his 
> > configuration against standard binaries, not custom binary against standard 
> > configuration.
> 
> The exim test suite tests against lots of partial configs,
> to exercise a binary with any config we have thought of.
> It bottom level it tests whatever binary you give it against
> whatever config you give it.
> 
> If he writes tests that confirm that it does what wants it to do,
> he can use it to test any binary config with any config.
> 
> The tests are written in a language that makes it easy(ish) to
> give it messages and to say what should happen to them.
> This will require some work, but it is a plausible starting point.
> 
> There is also SWAKS:
> https://www.jetmore.org/john/code/swaks/
> though he would need a running server with the config under test.

Many years ago, I wrote a Python tool for doing this:

https://www.dnorth.net/2012/03/17/introducing-eximunit/

I could dig up the source code and get it on github if it sounds interesting.

-- 
## subscription configuration (requires account):
##   https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
##   [email protected]
## Exim details at https://www.exim.org/
## Please use the Wiki with this list - https://code.exim.org/exim/wiki/wiki