I would suggest perhaps a simpler approach, which doesn't add anything new to cordova-cli/plugman:
- Each plugin ships with a "tests" js-module, and we document a convention of where they should live, and what signature it should have (i.e., cordova.require('plugin.name.Tests').forEach(...) ). - Will need a common way to describe/report results (others have mentioned TAP). - Any app is free to run those plugin tests in any which way, but we ship a mobile-spec app which is one opinionated way to do so. - It attempts to require the test module for each installed plugin, runs them, and aggregates results. - It could report results to some shared server, allow toggling of tests, etc, but no plugin should know or care about those features. Using that as a generic base: - We ship a "CDVTests" (or whatever) plugin which has a bunch of library code for creating tests, and plugins can use it to register their tests. - This makes it easier to register manual tests in a common format for core plugins, and prevents code duplication for core auto tests. - External plugins can chose to use our testing library, or not. -Michal On Thu, Sep 26, 2013 at 10:34 AM, Braden Shepherdson <bra...@chromium.org>wrote: > Here's an off-the-top-of-my-head sketch of how we might do Voltron tests: > > - Add a tag to plugin.xml that names each test file: > <test type="automatic" src="spec/foo.js" name="Foo Automated" /> > <test type="manual" src="spec/bar.js" name="Foo Manual" /> > - Add a new command, cordova test (maybe prepare-test), that: > - Ignores the top-level www. > - Instead copies in a basic testing index.html similar to the current > mobile-spec's > - That index reads a file akin to cordova_plugins.js (cordova_tests.js, > maybe?) generated by the CLI, containing the info from the <test> tags. > - It has navigation similar to the current mobile-spec, with buttons > for the automatic and manual sections. Auto has "All" and then each module, > manual just has the list of modules. > > Thoughts? > > Braden > > > On Thu, Sep 26, 2013 at 6:33 AM, Carlos Santana <csantan...@gmail.com > >wrote: > > > I like the idea can we call mobilespec now cordova-voltron and be DRY and > > use the tests form the plugins. > > > > Voltron by itself creates an App that tests only core, but as you > > use plugman to add plugins to voltron it has more test cases. > > > > It would not be a bad idea to enhance plugin.xml in the future to include > > information about testing (i.e. Directory containing tests files, test > > command, etc..) > > > > --Carlos > > > > On Thursday, September 26, 2013, Anis KADRI wrote: > > > > > What's the challenge of having us use the tests that come with the > > > individual plugins ? > > > > > > On Thu, Sep 26, 2013 at 8:13 AM, David Kemp <drk...@google.com > > <javascript:;>> > > > wrote: > > > > Currently, the automated test system that we have running (derived > from > > > > Medic) uses only the mobilespec tests. It does not yet use tests > > > collected > > > > from the plugins. Its been talked about, but not gone anywhere. > > > > > > > > David Kemp > > > > > > > > > > > > On Wed, Sep 25, 2013 at 7:58 PM, Jesse <purplecabb...@gmail.com > > <javascript:;>> > > > wrote: > > > > > > > >> Yeah, I have pushed some changes to mobile-spec, and when I did I > also > > > >> copied the tests into the plugin involved. > > > >> Until we get the magic test runner happening, I think we just keep > > > >> duplicating. > > > >> > > > >> @purplecabbage > > > >> risingj.com > > > >> > > > >> > > > >> On Wed, Sep 25, 2013 at 4:38 PM, Steven Gill < > stevengil...@gmail.com > > <javascript:;> > > > > > > > >> wrote: > > > >> > > > >> > We copied over tests into plugins when we first broke them out, > but > > I > > > >> don't > > > >> > believe they have been updated. > > > >> > > > > >> > I would say for now to just add the tests to mobile spec, and > > > possibly in > > > >> > the future we go all voltron to build mobile spec and keep tests > > with > > > >> their > > > >> > corresponding plugins. > > > >> > > > > >> > > > > >> > On Wed, Sep 25, 2013 at 4:22 PM, Joe Bowser <bows...@gmail.com > > <javascript:;>> > > > wrote: > > > >> > > > > >> > > Hey > > > >> > > > > > >> > > Right now, I'm working on a weird file issue that requires me to > > > >> > > update mobile-spec, but I'm wondering where the tests should > live. > > > >> > > Should it all keep living in mobile-spec, or is it with the > > plugins. > > > >> > > And if it's with the plugins, will there be scripts to assemble > > > >> > > mobile-spec all Voltron style? > > > >> > > > > > >> > > This came up earlier, but I haven't found any fix that needed a > > > >> > > mobile-spec test. (Many that need native testing, like > recursive > > > file > > > >> > > copy, etc). Any thoughts? > > > >> > > > > > >> > > Joe > > > >> > > > > > >> > > > > >> > > > > > > > > > -- > > Carlos Santana > > <csantan...@gmail.com> > > >