An IDE for Test Scripts - questions & comments

As an exercise of getting to know MPS, I'm trying to write an editor/ide for the Robot framework's TSV formatted test scripts. I've gotten to the point where I've built one concept - the Test case, and so far the editor's looking good and I'm finally grokking the generation step. Here are some of my questions/comments.

My general idea was to use MPS to come up with a smart IDE for Robot scripts. It should support a context-sensitive, syntax highlighted editor; the ability to generate the TSV files for offline runs via Ant/Hudson/Cruise Control, and the ability to run the test if required from within the IDE itself. Finally, it should be installable as a standalone app so that normal people (read non-developers) can just install and start using it.

So below are a bunch of comments/questions that I had about the general experience of using MPS. Please let me know if each one merits a different thread, and I shall post as such.

  1. Language Definition: I love the editor interface, but dont understand the need to still define character markers such as "(>" and "[>". Since the editor is a full fledged structural editor, why retain the text markup? Why not use graphical ways of denoting start/end - either using the syntax highlighting or allowing actual glyphs like the long pink braces you have with the templates and macros? This is a nit pick, however. I'm just happy there's a structural editor for code :-)
  2. Generation: A comment and a question here:
    1. GText documentation is sorta lacking, and I had to spend quite a bit of time to figure out the right way of using it - still havent got it completely, as my question will show.
    2. How do I generate tabs in the text output? I've used GText's indentblock and indent in the generation templates, but it seems to output spaces, not tabs as required by the tsv format.
  3. Deployment: Two issues here:
    1. I know there's been questions before, but is there any plan to be able to deploy MPS without all the developer support pieces. That is, can I create a language in MPS and deploy a version of MPS that supports that language alone, probably with only core MPS runtime and dependent libraries/languages, but not the whole MPS framework?
    2. Running MPS on a standard laptop takes ages to load up, and bringing up even Simplest Language hangs my Thinkpad. Is this typical or am I an out-lier? Is there a minimum config required for MPS to work fine?

Regards

Vinod

3 comments
Comment actions Permalink
How do I generate tabs in the text output? I've used GText's indentblock and indent in the generation templates, but it seems to output spaces, not tabs as required by the tsv format.

    Hi Vinod,

    I've managed to generate tabs :-) : insert a text item in the place where you want tab, then wrap text into the property macro and return tab character from it's value-function.

    generating_tab_character_in_gtext.PNG

    Regards, Igor.



    Attachment(s):
    generating_tab_character_in_gtext.PNG
    0
    Comment actions Permalink

    Thanks for the quick response on the one specific question I had, Igor.

    I'll give it a shot.

    I'll mark this question answered, but it'd be great if you guys respond to the other questions/concerns as well.

    Regards

    Vinod

    0
    Comment actions Permalink

    Hi Vind, we were busy at JavaOne last few days.

    Language Definition: I love the editor interface, but dont understand the need to still define character markers such as "(>" and "[>". Since the editor is a full fledged structural editor, why retain the text markup? Why not use graphical ways of denoting start/end - either using the syntax highlighting or allowing actual glyphs like the long pink braces you have with the templates and macros?

    yes, we could probably make use of non-textual braces to denote cell collection cells. But if you mean a kind of graphical editor, then it is hardly possible at the present time.  In MPS we use editor language to define editors which render nodes in textual notation, and which provide keyboard-centered means for model manipulation.  As the editor of editor definition is defined using this very editor language itself, it tends to be rather textual than graphical.  Thus we have to stick with text markup.

    I know there's been questions before, but is there any plan to be able to deploy MPS without all the developer support pieces. That is, can I create a language in MPS and deploy a version of MPS that supports that language alone, probably with only core MPS runtime and dependent libraries/languages, but not the whole MPS framework?

    AFAIK this is planned for version 2.0.  Another popular request was about deployment of MPS as a component supporting selected languages which could allow to embed structural editor in other java applications.  This, unfortunately,  is not planned yet.

    Running MPS on a standard laptop takes ages to load up, and bringing up even Simplest Language hangs my Thinkpad. Is this typical or am I an out-lier? Is there a minimum config required for MPS to work fine?

    A bug in MPS beta 3 has been found, which may render MPS unresponsive for a long time on a project loading/reloading.

    You can also try to remove MPS caches (%user home%\ .MPS10\system).

    I prefer  -Xmx1024m, dual core 2+GHz should be a breeze.

    Best regards, Igor

    0

    Please sign in to leave a comment.