Submit and vote on feature ideas.

Welcome to the new Parasoft forums! We hope you will enjoy the site and try out some of the new features, like sharing an idea you may have for one of our products or following a category.

External Tool Usage

LegacyForum Posts: 1,664 ✭✭
edited December 2016 in SOAtest
How is External Tool inteded to be used?
First Question:
What is the difference between the Input field and the argument list with the External Tool? Basically, I don't understand what the intent was for using Input vs an Argument except that Input is used for a very long argument such as an XML file. Also can they be combined and if so, what order do the 2 get passed to the External Tool.
(ie If I was to run the external tool on the command line would it look like this:

ExternalTool arg1 arg2 Input
ExternalTool Input arg1 arg2

Second question:
What does the External Tool look like when the Flag and Value option for an argument is used meaning is there always a space between flag and argument value:
(ie ExternalTool flag1 value1 flag2 value2?)
What happens if the flag and value need to be together such as:

ExternalTool flag1:value1
or ExternalTool -flag1:value1
or any other combination of flag1 and value1
Basically I am asking what is the intent for using the flag because if flag and value are always seperated by a space, then I don't see the difference between a flag and a value for an argument?

Third Question:
In the documentation it mentions using the External Tool as a boolean filter. Can you explain what is meant by a boolean filter.



  • LegacyForum
    LegacyForum Posts: 1,664 ✭✭
    1) The Input field is not for passing arguments to the external program. It is used for passing an input into the external tool.

    2) The flag column is for the command line option and the argument column is the value for that option. For instance, SOAtest has the command line options -cmd and -runtest. You could go to the SOAtest installation folder and type:

    st.exe -cmd -runtest [test file name].tst

    to run a test. In the external tool, you could make two rows in the flag/arguments table. The first one would have "-cmd" and nothing for argument. The second row would have "-runtest" and "[test file name].tst" for the argument.

    An alternative is to have one row, leave the flag column blank, and put everything into the argument column. For instance, you could put "-cmd -runtest [test file name].tst" into the argument column. If the program you're using has options like -flag:value, then you may have to use this method.

    3) If the tool has a return code that indicates success, then you can enable the "Exit value indicates success" checkbox. This would allow the tool to be used as a boolean filter. A boolean filter is a tool that takes an input, runs using that input, and returns true or false. True/false could mean different things depending on the tool. For instance, if the tool checked if the input is XML, then true could indicate that it is XML and false could indicate that it is not XML.