Hi Graham, thanks for you effort! I had the same issues, so maybe we can reduce duplication :-)
In this thread someone showed a way to run two instances locally that did only work nearly for me: http://devnet.jetbrains.com/message/5520633#5520633 but if it works for you, I might find my mistake :) In the video the guy is using just one IDEA installation, but I had to create two installations, to be able to open two instances. This is not that difficult: * copy the idea folder * edit idea/bin/idea.properties: - idea.config.path - idea.system.path and make sure to change the IDEA SDK plugin path in the 2nd instance (just like in the video). Also I had to add all libraries manually in the 2nd instance (in the video he does not have library dependencies). About the TestRunner: Yes, I think we will have to go the way of starting two instances and letting them communicate with each other -- this bloats the test a bit, but then we will have a complete end-to-end test. Would you maybe like to discuss the options and how we could do this on Skype a bit? This evening would be convenient for me. Regards, Holger Holger Schmeisky; holge...@fu-berlin.de Takustraße 9, Room 008, Freie Universität Berlin, 14195 Berlin +49 176 64146306 Am 28.07.2014 21:25, schrieb Graham Allan: > Hey all, > > You may consider this a bit of a pointless update, it's also going to be > a bit rambly :-) > > I haven't got very far into investigating how to automatically test two > running instances of Saros-I. I seem to have stumbled on to the same > problem as Holger in that I can't even get an empty test case to run > because of dependency conflicts around PicoContainer[0]. I'm not sure > how to solve this problem; it looks like both IntelliJ and the Saros > code needs this library on the classpath, so I doubt there's a way > around it in configuration. Only two options spring to mind at this > point: 1) go back a major version of Pico Container in Saros; 2) or > embed the correct version within a Saros namespace. > > The first option has drawbacks in that you're coupling your dependencies > in the core to whatever IntelliJ needs to use. The drawback to the > second option is that it's necessary to find a suitable way to embed the > library, there are a couple of good libraries for doing this (e.g. > ProGuard, JarJar, etc) but it adds complexity to the build process and > bloats your dependencies. That approach implies that the Saros-I plugin > is going to depend on a Saros-Core jar, but I assume that's on the > roadmap anyway. > > All this pain is before even getting on to the problem of running > multiple instances manually. Because of IntelliJ's fascination with > reusing the same process, it's actually quite difficult to run two > instances of the same IDEA on the same machine at the same time. I think > with some sneaky tricks this will be possible, so I'm going to keep > trying this. Being able to manually test the real communication between > two real instances is better than nothing. > > Cheers, > Graham > > > [0] http://devnet.jetbrains.com/message/5520275#5520275 > > > On 26 July 2014 14:07, Graham Allan <grundlefl...@gmail.com > <mailto:grundlefl...@gmail.com>> wrote: > > Looks like this will be a fun one to investigate, lots of gotchas :-) > > Will hopefully have something to report today or tomorrow. > > On 23 Jul 2014 14:57, "Stefan Rossbach" <srossb...@arcor.de > <mailto:srossb...@arcor.de>> wrote: > > Graham should also be aware that multiple instances on the same PC > requires *virtual* keyboards, i.e > simulating keyboard events with e.g > http://msdn.microsoft.com/en-us/library/ms646310%28v=vs.85%29.aspx > (I do > not know if UI4J is > using this) will not work when simultaneous writing should be > performed. > > See: > > http://download.eclipse.org/technology/swtbot/helios/dev-build/apidocs/org/eclipse/swtbot/swt/finder/keyboard/KeyboardFactory.html#getMockKeyboard%28org.eclipse.swt.widgets.Widget,%20org.hamcrest.SelfDescribing%29 > > On 23.07.2014 15:46, Holger Schmeisky wrote: > > Hi Graham > > > > did you manage to start two Saros/I instances already? I > guess that's > > necessary for writing the test :-) > > > > I found out a mildly inconvenient way that I'd like to > document on the > > homepage, but if you (or anyone else) has found a better one > I am glad > > to hear: > > > > http://devnet.jetbrains.com/message/5520367#5520367 > > > > Regards, > > Holger > > > > Holger Schmeisky; holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de> > > Takustraße 9, Room 008, Freie Universität Berlin, 14195 Berlin > > +49 176 64146306 <tel:%2B49%20176%2064146306> > > > > Am 22.07.2014 14:40, schrieb Graham Allan: > >> Great! Thanks. > >> > >> I will look into the references provided, and investigate > how we could > >> have the equivalent for IntelliJ. > >> > >> Cheers, > >> Graham > >> > >> > >> On 22 July 2014 12:15, Stefan Rossbach <srossb...@arcor.de > <mailto:srossb...@arcor.de> > >> <mailto:srossb...@arcor.de <mailto:srossb...@arcor.de>>> wrote: > >> > >> Hi Graham, > >> > >> it is actually not that hard (STF = Saros Test > Framework, i.e our > >> E2E Tests) > >> > >> SWTBot = UISpec4J => Fire Events, Read widget data > >> > >> The main entry point can be found in: > >> > >> de.fu_berlin.inf.dpp.stf.server.STFController > >> > >> There is also a small client package which contains an > STFTestcase > >> class which you should inherit from when writing test > cases. > >> > >> There is also a STF developer doc on the Saros Webpage, > but I am > >> quite sure that it is outdated. > >> > >> This framwork consists of so called *Bots*. > >> > >> The *RemoteBot* only consists of class wrappers for the > SWTBot > >> Framework. > >> > >> The *SuperBot* is just a accumulation of classes that > perform very > >> special tasks (which also could be done with > RemoteBot). Mainly > >> written to shorten > >> Test cases to avoid C&P between test classes. > >> > >> Due to the design there is one nasty restriction > (mentioned in the > >> Doc). You cannot write test cases as you would like. > >> > >> @Franz > >> I spend over 5 minutes to find the manual ? Where did > you put the > >> link ?! > >> > >> > >> I attached it for now (found in the darkest depths of > my HDDs). > >> > >> STF Vids: > >> > >> http://saros-build.imp.fu-berlin.de/test/stf_self_test.avi > (from 2011) > >> > >> http://saros-build.imp.fu-berlin.de/test/stf_xvid.avi (from > 2013, > >> mainly how to write STF test cases) > >> > >> > >> > >> > >> On 22.07.2014 12:53, Graham Allan wrote: > >>> Is there any documentation on how STF does the > RMI? I would > >>> like to look into that and test it with IntelliJ, > before we > >>> start with such a big venture :-) > >>> Graham, how much would you like to dig into that? > (We can also > >>> talk directly on that, if you'd like to) > >>> > >>> > >>> Yup, I'd be happy to do that. I may need some to get some > >>> background info on how the Eclipse testing works, I'm > unfamiliar > >>> with SWTBot, etc. What would you recommend for > figuring that out? > >>> Do you think it's understandable by digging into the > Saros code? > >>> Maybe a chat over Skype/Hangout/etc? > >>> > >>> Also, I kept up with most of the acronyms, but you > lost me on STF, > >>> what is that? > >>> > >>> Cheers, > >>> Graham > >>> > >>> > >>> On 21 July 2014 15:53, Stefan Rossbach > <srossb...@arcor.de <mailto:srossb...@arcor.de> > >>> <mailto:srossb...@arcor.de > <mailto:srossb...@arcor.de>>> wrote: > >>> > >>> The RemoteBot is just a RMI Wrapper around the SWTBot > >>> Framework. No magic, nothing. > >>> > >>> IMyFooWrapper extends Remote .... > >>> > >>> MyFooWrapperImpl implements IMyFooWrapper ... > >>> > >>> private ... delegate > >>> > >>> public void foo() { delegate.foo() } > >>> > >>> Just take a look at the STFController class. > >>> > >>> As for you test case. Your class path is not set > correctly and > >>> if Headless tests does not support multiple > classloaders you > >>> are out of luck. > >>> > >>> > >>> On 21.07.2014 15 <tel:21.07.2014%2015> > <tel:21.07.2014%2015>:17, Holger Schmeisky wrote: > >>> > >>> Is there any documentation on how STF does the > RMI? I > >>> would like to look into that and test it with > IntelliJ, > >>> before we start with such a big venture :-) > >>> > >>> Graham, how much would you like to dig into > that? (We can > >>> also talk directly on that, if you'd like to) > >>> > >>> Apart from the UI Testing, I am trying to set > up tests for > >>> the file handling and having problems: > >>> > >>> http://devnet.jetbrains.com/thread/455971 > >>> > >>> Any help is appreciated :-) > >>> > >>> Regards, > >>> Holger > >>> > >>> Holger Schmeisky; holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>> > >>> Takustraße 9, Room 008, Freie Universität > Berlin, 14195 Berlin > >>> +49 176 64146306 <tel:%2B49%20176%2064146306> > <tel:%2B49%20176%2064146306> > >>> > >>> Am 21.07.2014 14 <tel:21.07.2014%2014> > <tel:21.07.2014%2014>:02, schrieb Stefan > >>> Rossbach: > >>> > >>> Hi again, > >>> > >>> I just looked at the UISpec4J Framework > and it seems > >>> that this is the > >>> *equivalent* to SWTBot. > >>> > >>> So my suggestion would be to write a > script that will > >>> generate code so > >>> that those methods can be accessed via > >>> RMI. You can look at the RemoteBot of the STF. > >>> Although this was purely > >>> written by hand (Please do not ask my why ...) > >>> it may be a good start. > >>> > >>> > >>> On 21.07.2014 13 <tel:21.07.2014%2013> > <tel:21.07.2014%2013>:51, Stefan > >>> Rossbach wrote: > >>> > >>> On 21.07.2014 13 <tel:21.07.2014%2013> > <tel:21.07.2014%2013>:40, Holger > >>> Schmeisky wrote: > >>> > >>> Hi, > >>> > >>> thanks for looking into this. My 2 > cents: > >>> > >>> - they try to stick to > testing the > >>> 'model', using headless > >>> builds. If > >>> there's already a separated > 'core' of > >>> Saros, which can be tested in > >>> isolation, and there's only really > >>> plumbing left to do, that may > not be > >>> applicable for the Saros-I code. > >>> > >>> Unfortunately the Saros-I code > does more than > >>> plumbing - more like > >>> half of the work, but with a lot of > >>> duplication. But well, that makes > >>> it applicable for headless tests > and I think > >>> thats a good path :-) > >>> > >>> There are two main components: The > Editor Stuff > >>> and the File Stuff which > >>> cannot be part of the core. The rest > should be > >>> mostly *cosmetic* stuff > >>> (beside the Watchdog). > >>> > >>> Would it be worth > investigating one of > >>> these libraries to see if it's > >>> possible to spin up an > IntelliJ instance > >>> in a JUnit test? > >>> > >>> Yep, it's Swing. In Saros/E we > fire up 2 > >>> Eclipse instances that run > >>> the Saros version and execute > actions on them > >>> via RMI. In IDEA I had > >>> no luck starting two IDEA > instances from one > >>> instance > >>> > (http://devnet.jetbrains.com/message/5520017#5520017), > >>> so I suspended > >>> that thought for the moment. > >>> > >>> We actually fire up 4 instances (we > could even > >>> fire up more). We do not > >>> really execute "actions" (ok at least > a few) with > >>> RMI. Most RMI calls > >>> delegates to the SWTBot Framework so > we really > >>> simulate user input (sorry if you > meant this with > >>> actions). > >>> > >>> Having an "OK it still works" > integration test > >>> would be really > >>> helpful, but I am a bit > intimidated by the > >>> setup work this would > >>> require (given the instances > issues and the > >>> whole hassle of UI tests). > >>> > >>> A lower level where the tests > would already > >>> make sense would be the > >>> directory creation / file handling > level > >>> because I am having issues > >>> there at the moment. > >>> > >>> If you want to use headless tests make > sure IDEA > >>> is not using SWING. The > >>> CI Server is running without a display > (for good > >>> reasons). > >>> > >>> Regards, > >>> Holger > >>> > >>> Kind regards, > >>> Graham > >>> > >>> > >>> > >>> > >>> On 21 July 2014 11:24, Stefan > Rossbach > >>> <srossb...@arcor.de > <mailto:srossb...@arcor.de> > >>> <mailto:srossb...@arcor.de > <mailto:srossb...@arcor.de>> > >>> <mailto:srossb...@arcor.de > <mailto:srossb...@arcor.de> > >>> <mailto:srossb...@arcor.de > <mailto:srossb...@arcor.de>>>> wrote: > >>> > >>> I would suggest a similar > framework > >>> like SWTBot for AWT(Swing) > >>> applications which can be > accessed > >>> with RMI > >>> as we do with our STF. > >>> > >>> > >>> On 21.07.2014 11 > <tel:21.07.2014%2011> > >>> <tel:21.07.2014%2011> > >>> <tel:21.07.2014%2011>:28, > Holger Schmeisky > >>> wrote: > >>> > >>> Hi Graham, > >>> > >>> I am very glad to > hear from you! > >>> > >>> Franz already told me > about you > >>> and I read your quite > >>> enthusiastic blog > >>> post about Saros for > Eclipse and > >>> how it compares to other > >>> solutions :-) > >>> > >>> There probably will > be too much > >>> churn in the development > >>> branch > >>> for it > >>> be a good base for > collaboration. > >>> I think it is a better > >>> idea to > >>> wait > >>> with that until a > runnable > >>> version is in the master > branch, so > >>> you can > >>> branch from there and > develop > >>> from a clean state. > >>> > >>> The next biggest > impediment is, > >>> that there are no automated > >>> tests for > >>> the development > version and it > >>> has to be tested manually -- we > >>> should > >>> fix that rather early > I'd say. > >>> > >>> I'm working on that > at the > >>> moment, but experiencing > >>> problems. Is > >>> anybody > >>> here who has > experience testing > >>> IDEA IntelliJ plugins? :-) > >>> > >>> Regards, > >>> Holger > >>> > >>> > >>> Holger Schmeisky; > >>> holge...@fu-berlin.de <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>> > >>> > <mailto:holge...@fu-berlin.de <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>>> > >>> Takustraße 9, Room > 008, Freie > >>> Universität Berlin, 14195 Berlin > >>> +49 176 64146306 <tel:%2B49%20176%2064146306> > >>> <tel:%2B49%20176%2064146306> > >>> <tel:%2B49%20176%2064146306> > >>> > >>> Am 18.07.2014 20:23, > schrieb > >>> Graham Allan: > >>> > >>> Hi Holger, > >>> > >>> Great to hear! > >>> > >>> I work for a > company based in > >>> London, from my home in > >>> Scotland. Saros > >>> has been a big > part of our > >>> development process for over 18 > >>> months now, > >>> and myself and my > team are > >>> very keen to see the IntelliJ > >>> plugin. I've > >>> already > contributed the ant > >>> build script for the Saros-I > >>> project and am > >>> eager to do more. > >>> > >>> Would you > recommend checking > >>> out the current code or will > >>> there be so > >>> much churn in > that area that > >>> we may as well wait? > >>> > >>> Kind regards and > have a great > >>> weekend, > >>> Graham > >>> > >>> > >>> On 16 July 2014 > 13:43, Holger > >>> Schmeisky > >>> > <holge...@fu-berlin.de <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>>> > >>> > <mailto:holge...@fu-berlin.de <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>>>>__> wrote: > >>> > >>> Hello everyone, > >>> > >>> my name is > Holger and I > >>> am a colleague of Franz, > >>> currently working > at FU > >>> Berlin on the > >>> development of Saros for JetBrains > >>> IDEA > >>> (IntelliJ, > >>> PyCharm, > PhpStorm, ...). > >>> > >>> An IDEA > version is > >>> under way and there is already a > >>> halfway-usable > >>> development > version (in > >>> the development/raimondas2 > >>> branch). It already > >>> has the > basic features > >>> like project sharing, > >>> editing, > >>> follow mode, etc. > >>> However > this version > >>> still misses a lot, is without > >>> automated tests and > >>> has only > partially been > >>> merged into the master > >>> branch. > >>> > >>> In about > 2-3 weeks, the > >>> code will be in a shape > >>> where > >>> other people can > >>> actually > develop on it. > >>> I think it already makes > >>> sense > >>> to get in touch > >>> before, to > get to know > >>> the codebase and our > >>> development process. > >>> > >>> So if you are > >>> interested in joining Saros/I > >>> development, > please contact > >>> me or write > here, so I > >>> can get to know you and > >>> get an > >>> overview how much > >>> interest > there is :-) > >>> > >>> Regards, > >>> Holger > >>> > >>> > >>> > >>> -- > >>> Holger > Schmeisky; > >>> holge...@fu-berlin.de <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>> > >>> > <mailto:holge...@fu-berlin.de <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>>> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>> > >>> > <mailto:holge...@fu-berlin.de <mailto:holge...@fu-berlin.de> > >>> <mailto:holge...@fu-berlin.de > <mailto:holge...@fu-berlin.de>>>> > >>> Takustraße > 9, Room 008, > >>> Freie Universität Berlin, > >>> 14195 Berlin > >>> +49 176 64146306 <tel:%2B49%20176%2064146306> > >>> <tel:%2B49%20176%2064146306> > >>> <tel:%2B49%20176%2064146306> > >>> <tel:%2B49%20176%2064146306> > >>> > >>> > >>> > > ------------------------------__------------------------------__------------------ > >>> > >>> > >>> Want fast > and easy > >>> access to all the code in your > >>> enterprise? Index and > >>> search up > to 200,000 > >>> lines of code with a free > >>> copy of > >>> Black Duck > >>> Code Sight > - the same > >>> software that powers the > >>> world's > >>> largest code > >>> search on > Ohloh, the > >>> Black Duck Open Hub! Try it > >>> now. > >>> http://p.sf.net/sfu/bds > >>> > _________________________________________________ > >>> DPP-Devel > mailing list > >>> DPP-Devel@lists.sourceforge.__net > >>> > <mailto:DPP-Devel@lists.sourceforge. > <mailto:DPP-Devel@lists.sourceforge.>__net> > >>> > <mailto:DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net> > >>> > <mailto:DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net>>> > >>> > <mailto:DPP-Devel@lists <mailto:DPP-Devel@lists>. > >>> <mailto:DPP-Devel@lists > <mailto:DPP-Devel@lists>.>__sourceforge.net <http://sourceforge.net> > >>> <http://sourceforge.net> > >>> > <mailto:DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net> > >>> > <mailto:DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net>>>> > >>> https://lists.sourceforge.net/__lists/listinfo/dpp-devel > >>> > <https://lists.sourceforge.net/lists/listinfo/dpp-devel> > >>> > >>> > >>> > > ------------------------------__------------------------------__------------------ > >>> > >>> > >>> Want fast and easy > access to all > >>> the code in your enterprise? > >>> Index and > >>> search up to 200,000 > lines of > >>> code with a free copy of Black > >>> Duck > >>> Code Sight - the same > software > >>> that powers the world's > >>> largest code > >>> search on Ohloh, the > Black Duck > >>> Open Hub! Try it now. > >>> http://p.sf.net/sfu/bds > >>> > >>> > _________________________________________________ > >>> DPP-Devel mailing list > >>> DPP-Devel@lists.sourceforge.__net > >>> > <mailto:DPP-Devel@lists.sourceforge. > <mailto:DPP-Devel@lists.sourceforge.>__net> > >>> > >>> > <mailto:DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net> > >>> > <mailto:DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net>>> > >>> https://lists.sourceforge.net/__lists/listinfo/dpp-devel > >>> > <https://lists.sourceforge.net/lists/listinfo/dpp-devel> > >>> > >>> > >>> > > ------------------------------------------------------------------------------ > >>> > >>> > >>> Want fast and easy access to all the > code in your > >>> enterprise? Index and > >>> search up to 200,000 lines of code > with a free > >>> copy of Black Duck > >>> Code Sight - the same software that > powers the > >>> world's largest code > >>> search on Ohloh, the Black Duck Open > Hub! Try it now. > >>> http://p.sf.net/sfu/bds > >>> > _______________________________________________ > >>> DPP-Devel mailing list > >>> DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net> > >>> > <mailto:DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net>> > >>> https://lists.sourceforge.net/lists/listinfo/dpp-devel > >>> > >>> > >> > > > > ------------------------------------------------------------------------------ > > Want fast and easy access to all the code in your enterprise? > Index and > > search up to 200,000 lines of code with a free copy of Black Duck > > Code Sight - the same software that powers the world's > largest code > > search on Ohloh, the Black Duck Open Hub! Try it now. > > http://p.sf.net/sfu/bds > > _______________________________________________ > > DPP-Devel mailing list > > DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net> > > https://lists.sourceforge.net/lists/listinfo/dpp-devel > > > ------------------------------------------------------------------------------ > Want fast and easy access to all the code in your enterprise? > Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > _______________________________________________ > DPP-Devel mailing list > DPP-Devel@lists.sourceforge.net > <mailto:DPP-Devel@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/dpp-devel > > ------------------------------------------------------------------------------ Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk _______________________________________________ DPP-Devel mailing list DPP-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dpp-devel