JSAN::Prove - prove for jsan distributions

0 views
Skip to first unread message

Nickolay Platonov

unread,
May 13, 2009, 8:16:32 AM5/13/09
to js...@googlegroups.com, joose-js
Hello all,

I'd like to share the recent progress on JSAN::Prove.

JSAN::Prove is a perl package which provide 'jsan-prove' executable - analog of usual prove.

The package is built as a small Catalyst application. After startup, it maps current directory to development server,
then launch supported on current platform browsers. Browsers are pointed to 't/index.html' (as it mapped),
which contain Test.Run-based harness.

After all tests were ran, harness report the result to server  - 'pass' or 'fail'

After results from all started browsers were collected, server stops and return the value to calling program.

Current implementation just return 1 if all tests were successful or 0 otherwise.

To try it, you'll need to have a certain infrastructure on your machine, please refer to this post for details.

Supposed you have all those infrastructure, you'll also need to install:
JSAN::Prove from
http://github.com/SamuraiJack/JSAN-Prove/tree/master

JooseX.SimpleRequest from
http://github.com/SamuraiJack/JooseX-SimpleRequest/tree

and update Test.Run from
https://github.com/SamuraiJack/test.run/tree

Joose-Mutable distribution can be used as test, checkout it from:
http://joose-js.googlecode.com/svn/branches/mutability/

then run 'jsan-prove' from command line in the distribution dir


or, to skip all preparations, you may try to use VM image, which contain fresh WinXp installation, plus all mentioned soft,
including perl, git, browsers, etc. Its intended for VirtualBox and available here:
ftp://sandbox.extjs-ux.org/jsan/jsan-dev-win.part01.rar
ftp://sandbox.extjs-ux.org/jsan/jsan-dev-win.part02.rar
ftp://sandbox.extjs-ux.org/jsan/jsan-dev-win.part03.rar
ftp://sandbox.extjs-ux.org/jsan/jsan-dev-win.part04.rar
ftp://sandbox.extjs-ux.org/jsan/jsan-dev-win.part05.rar
ftp://sandbox.extjs-ux.org/jsan/jsan-dev-win.part06.rar

usr: anonymous
pwd: extjs-ux

(also available via http)

Regards, Nickolay

David E. Wheeler

unread,
May 14, 2009, 1:19:56 PM5/14/09
to js...@googlegroups.com, joose-js
On May 13, 2009, at 5:16 AM, Nickolay Platonov wrote:

> Hello all,
>
> I'd like to share the recent progress on JSAN::Prove.
>
> JSAN::Prove is a perl package which provide 'jsan-prove' executable
> - analog of usual prove.
>
> The package is built as a small Catalyst application. After startup,
> it maps current directory to development server,
> then launch supported on current platform browsers. Browsers are
> pointed to 't/index.html' (as it mapped),
> which contain Test.Run-based harness.

Very cool. Could it also support Test.Harness.Browser? Or have a
directive (perhaps in META.json) to point it at an alterante file,
such as 'test/index.html'?

> After all tests were ran, harness report the result to server -
> 'pass' or 'fail'

Does it send all of the TAP data, too?

> After results from all started browsers were collected, server stops
> and return the value to calling program.
>
> Current implementation just return 1 if all tests were successful or
> 0 otherwise.

Sounds like a great start, thanks!

David

Boris Reitman

unread,
May 14, 2009, 1:41:26 PM5/14/09
to js...@googlegroups.com, joose-js
Guys, anyone is looking to hire a remote senior perl or javascript developer ?
Looking to quit my job for a remote job. A sample of my work: http://code.google.com/p/crossxhr/wiki/CrossXhr

Thanks,
Boris Reitman

2009/5/14 David E. Wheeler <da...@justatheory.com>

Nickolay Platonov

unread,
May 14, 2009, 2:50:15 PM5/14/09
to js...@googlegroups.com, joose-js
On Thu, May 14, 2009 at 9:19 PM, David E. Wheeler <da...@justatheory.com> wrote:

On May 13, 2009, at 5:16 AM, Nickolay Platonov wrote:

> Hello all,
>
> I'd like to share the recent progress on JSAN::Prove.
>
> JSAN::Prove is a perl package which provide 'jsan-prove' executable
> - analog of usual prove.

Very cool. Could it also support Test.Harness.Browser? Or have a
directive (perhaps in META.json) to point it at an alterante file,
such as 'test/index.html'?

Yes, sure, other harnesses can be supported too, with minimal additions. Currently the communication
between 'prove' and 'harness'  is very simple - harness just supposed to report, when all tests are finished,
by performing a http request on the url like: "/proven/FireFox/pass" or "/proven/FireFox/fail"

Btw - currently its implemented as a Role (some Joose promotion :)
http://github.com/SamuraiJack/test.run/blob/a2c290baba1a3c14cf0c87307697fc86974b6c3b/lib/Test/Run/Harness/Browser/Proven.js

As about index.html - think, before starting, server can check several options of path to it.
It also can be a command-line switch for exotic cases.
 

> After all tests were ran, harness report the result to server  -
> 'pass' or 'fail'

Does it send all of the TAP data, too?

Nope, though its easily possible (note the commented stubs in the Proven role)
 

Sounds like a great start, thanks!

David
 
Current implementation is somewhat simplistic (pass/fail only). However, it provides a base and everyone is welcomed to hack on it.

Regards, Nickolay
Reply all
Reply to author
Forward
0 new messages