Is it possible to have configuration differences in the PHPUnit XML file that are processed at runtime so as to configure settings based on platform of execution? For instance, use Color on Ubuntu, but not in Windows.
To explain:
I have different development platforms being used, and want to ensure that our code works for web servers on either platform. Also, the tools we use are on different platforms. For instance, the inhouse backend servers for the Developers (PHPUnit, PHPDocs, Wiki, other tools) are on a Ubuntu computer. The developers actively use Windows based PCs.
When a developer changes code, we want them to be able to test that their code works before checking it into our repository. Therefore, they run PHPUnit, PHP_CodeSniffer, PHPMD and PHPDocs on their local machine to see things are okay to commit.
The main system then, will see the code committed, and will re-run these tests in conjunction with everyone elses code changes on the Ubuntu machine, update the company wide pages with test results, code coverage, etc... These tests may even be run on different computers with different OS/Language configurations. Web Browser testing via Selenium is also started at this point, again, across many different Web Server/OS/Browser versions.
As we introduce new tools, different projects, etc..., the XML files are changing with exclude files, test suite configurations etc... As such, we keep this file in the source tree to ensure the developers have the latest settings when running their tests.
I want to be able to configure some settings differently by platform (that would work for all our combinations as I could set whatever variable is being used) without having to have different files that are then copied after the source to ensure the changes are received.
Is this reasonable, or would using something like Jenkins help me avoid this issue? However, I am trying to keep the tools on the Windows PC as basic as possible to facilitate letting the developers run them quickly, or they will ignore the step.


