---------------------------------- SqueezeCenter Test Framework $Id$ ---------------------------------- This is the beginnings of a test framework for SqueezeCenter. It will encompass API tests, and functional tests, using the Test::Harness / prove mechanism. Existing: Slim/ - This is a support library directory for tests. It will contain common code, and setup. configs/ - Specific configurations / pref files to test against. data/ - Audio data, playlists, etc to run tests against. If at all possible, name the file 'bugXXXX.ext' - so it's easy to correlate with Bugzilla. t/ - The actual .t test files, using the Test::Harness module. tmp/ - Scratch directory. To run these tests, from this directory: $ prove -r t/ That will run the 'prove' program which ships with Perl 5.8+ recursively against the test directory. If you wish to run Devel::Cover as well: $ cover -delete $ HARNESS_PERL_SWITCHES=-MDevel::Cover prove -r t/ $ cover Which will generate a cover_db directory with relevant HTML files. ---------------------------------- Future: The goal here is to have a comprehensive test suite against the SqueezeCenter API, database, HTML interface, CLI, PlayerUI & audio data. Todo list includes: * Before fixing a bug - Write a test for it! * Break up and port Fred's CLIent6.1.pl program to use the .t framework. * Have a cover method for launching a copy of SqueezeCenter to run tests against. (Think Apache::Test or similar) * Once the above is done, using Test::WWW::Mechanize to test components of the WebUI * Create a perl based client program to test the player UI. * Significant coverage to test all possible code paths. * Improve inline documentation via POD. * Automated test runs and results available via the web.