Hi all, I'd like to write t_functional tests covering the setup of different packages working together.
For instance, think about a complete mail server setup, consisting of Postfix, Amavis, ClamAV, Dovecot and more... This is the typical situation I deal with, when I run configuration management software, like NethServer -- I hope it will be a CentOS variant :) -- acting on the top of CentOS.
How to extend t_functional in that case? Should I add a "role" test, such as the existing "lamp"?
I saw "role" tests are executed on the same environment, after other "package" tests. What if a particular role test must be executed on a pristine environment?
I'm worried about - say - OpenLDAP or MySQL: what if they are provisioned by different test cases in a conflicting way?
Thanks in advance,
On 04/04/14 16:05, Davide Principi wrote:
Hi all, I'd like to write t_functional tests covering the setup of different packages working together.
For instance, think about a complete mail server setup, consisting of Postfix, Amavis, ClamAV, Dovecot and more... This is the typical situation I deal with, when I run configuration management software, like NethServer -- I hope it will be a CentOS variant :) -- acting on the top of CentOS.
How to extend t_functional in that case? Should I add a "role" test, such as the existing "lamp"?
I saw "role" tests are executed on the same environment, after other "package" tests. What if a particular role test must be executed on a pristine environment?
I'm worried about - say - OpenLDAP or MySQL: what if they are provisioned by different test cases in a conflicting way?
Thanks in advance,
Hi Davide,
Just to clarify : t_functional is used to test the distro, so it doesn't target (at this point) packages not present in the distro, but residing in third-party repositories. So in your example you can have tests for postfix and dovecot but not clamav. Also, postfix and dovecot are already tested (see for example https://git.centos.org/tree/sig-core!t_functional.git/d002e923e0fdacc80f3351...) but they can be extended if needed.
It's also true that if you want to test interactions between versious packages, a role is needed (like r_lamp)