SoftwareTesting:Tools:jsshHowTo
From MozillaWiki
jssh test harness documentation
Dave Liebreich has documented this and will likely contain updates as he moves forward with this test harness.
requirements
python (2.3 or greater)
firefox 1.5 with jssh - built with mozconfig
see Build Documentation for more details
. $topsrcdir/browser/config/mozconfig mk_add_options MOZ_CO_PROJECT=browser ac_add_options --enable-application=browser mk_add_options MOZ_OBJDIR=@topsrcdir@/../objdir/browser # mk_add_options MOZ_CO_MODULE=mozilla/js/tests ac_add_options --enable-extensions=default,jssh mk_add_options MOZ_MAKE_FLAGS="-j4"
firefox 2.0 with jssh
pull MOZILLA_1_8_BRANCH from cvs
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -r MOZILLA_1_8_BRANCH mozilla/client.mk
or, checkout the client.mk
cvs co -r MOZILLA_1_8_BRANCH mozilla/client.mk
checkout source via make
make -f client.mk checkout MOZ_CO_PROJECT=browser
add jssh extension to source
cvs co -D 2006-04-15 mozilla/extensions/jssh
modify the mozilla/browser/config/mozconfig file with the above extensions modifications.
build the package
make -f client.mk build
python test harness and jssh driver
Patching
To build on the lastest MOZILLA_1_8_BRANCH I had to make the following changes
Index: nsJSSh.cpp =================================================================== RCS file: /cvsroot/mozilla/extensions/jssh/nsJSSh.cpp,v retrieving revision 1.3 diff -u -r1.3 nsJSSh.cpp --- nsJSSh.cpp 31 Mar 2006 04:40:59 -0000 1.3 +++ nsJSSh.cpp 4 Feb 2007 19:14:32 -0000 @@ -40,10 +40,11 @@ #include "nsIJSRuntimeService.h" #include "nsIServiceManager.h" #include "nsIXPConnect.h" +#include "nsMemory.h" #include "nsIProxyObjectManager.h" #include "nsIEventQueueService.h" #include "nsIScriptSecurityManager.h" -#include "nsDependentString.h" +#include "nsServiceManagerUtils.h" #include "nsIIOService.h" #include "nsNetCID.h" #include "nsIChannel.h" Index: nsJSSh.h =================================================================== RCS file: /cvsroot/mozilla/extensions/jssh/nsJSSh.h,v retrieving revision 1.3 diff -u -r1.3 nsJSSh.h --- nsJSSh.h 31 Mar 2006 04:40:59 -0000 1.3 +++ nsJSSh.h 4 Feb 2007 19:14:32 -0000 @@ -47,7 +47,7 @@ #include "nsIJSSh.h" #include "nsIJSContextStack.h" #include "nsIPrincipal.h" -#include "nsString.h" +#include "nsStringAPI.h" #include "nsIScriptObjectPrincipal.h" #include "nsIXPCScriptable.h" Index: nsJSShServer.cpp =================================================================== RCS file: /cvsroot/mozilla/extensions/jssh/nsJSShServer.cpp,v retrieving revision 1.3 diff -u -r1.3 nsJSShServer.cpp --- nsJSShServer.cpp 31 Mar 2006 04:40:59 -0000 1.3 +++ nsJSShServer.cpp 4 Feb 2007 19:14:32 -0000 @@ -40,6 +40,7 @@ #include "nsNetCID.h" #include "nsISocketTransport.h" #include "nsIComponentManager.h" +#include "nsComponentManagerUtils.h" #include "nsIInputStream.h" #include "nsIOutputStream.h" #include "nsIThread.h" @@ -197,7 +198,7 @@ mServerSocket->Close(); mServerSocket = nsnull; mServerPort = 0; - mServerStartupURI.Truncate(); + mServerStartupURI.SetLength(0); mServerLoopbackOnly = PR_FALSE; return NS_OK; } Index: nsJSShServer.h =================================================================== RCS file: /cvsroot/mozilla/extensions/jssh/nsJSShServer.h,v retrieving revision 1.3 diff -u -r1.3 nsJSShServer.h --- nsJSShServer.h 31 Mar 2006 04:40:59 -0000 1.3 +++ nsJSShServer.h 4 Feb 2007 19:14:32 -0000 @@ -42,7 +42,7 @@ #include "nsIJSShServer.h" #include "nsCOMPtr.h" #include "nsIServerSocket.h" -#include "nsString.h" +#include "nsStringAPI.h" class nsJSShServer : public nsIJSShServer {