wintest for testing Samba against windows

tridge at samba.org tridge at samba.org
Thu Nov 18 22:25:09 MST 2010


I've been working on a new test system for Samba called
'wintest'. I've recently pushed it into master in the wintest top
level directory.

The idea behind this system is to provide automatic testing against
Windows, in contrast to our existing test system that tests Samba
against its own internal test suites. Other main features include:

 - it is designed to run as root, so it doesn't involve socket wrapper
 - it tests from an installed copy of Samba, not from the source
   directory, which means it tests our installation, library paths etc
 - it uses python pexpect to control windows via the windows telnet server
 - it is configurable for your own virtual machine setup. It should be
   able to be configured for any modern virtual machine system that
   can run windows

For now I've done 2 test scripts:

 - test-s4-howto.py: tests the steps of the Samba4 HOWTO with a wide
   variety of windows versions (WinXP, Win7, w2k3, w2k8, w2k8r2) and
   with a variety of setups (Samba as DC, Samba as RODC, Windows as
   DC, Windows as RODC) with all the main features (including TSIG
   dynamic DNS via bind9).

 - test-s3.py: the start of a Samba3 test script. This is just a
   skeleton at the moment, but I am hoping that someone will dive in
   and expand it to test a wide range of Samba3 functionality against
   Windows. Have a look at test-s4-howto.py for ideas on how to extend
   this.

The scripts use a config file that describes the virtual machines that
you want to test against. See conf/tridge.conf for an example config
for my setup. I'm hoping other people will contribute configs for
other VM systems, and maybe some docs on how to set this up.

For now the tests are meant to be run by someone logged into the test
machine. I'd like to extend this to cron driven testing that puts its
results into the build farm at some point in the future.

We've tried to do automated Samba<->Windows testing in the past
without much success. The problem has always been making it robust
enough that it can produce reliable results and not bitrot too
easily. I'm hoping the wintest system will turn out to be a bit more
reliable than past efforts.

If you want to help out, please have a look at git master, and have a
go at running it yourself. 

I think we should also consider pulling in pexpect into our bundled
python libs, and start using it as part of 'make test'. It provides a
very powerful way of testing interactive applications (such as
smbclient).

Cheers, Tridge


More information about the samba-technical mailing list