My guess is that 'hubScript' has a space in it and when executed like
'subprocess.Popen(hubScript, <args>)' the space is not escaped. You
can check does the path have a space by adding 'print hubScript'
before 'subprocess.Popen'. If 'subprocess.Popen' gets the command (and
possible arguments) to run as a list, it will escape possible spaces
correctly. If the path has a space, changing the code to
'subprocess.Popen([hubScript], <args>)' should thus fix the problem.
Cheers,
.peke
--
Agile Tester/Developer/Consultant :: http://eliga.fi
Lead Developer of Robot Framework :: http://robotframework.org
Great! I looked at the script a bit more closely and noticed that a
correct way to start the hub would be this:
process = subprocess.Popen([antBatch, "launch-hub"], cwd=seCwd,
stdout=hubLog, stderr=hubLog)
Could you test does that work for you? If it does, I can update the
script on the wiki page to contain this line.
The test suite structure returned by robot.running.TestSuite is
recursive. If you have a directory, the top level suite has no tests
itself but only suites. Those lower level suites then can contain
tests, if they are created from files, or other suites, if created
from directories. To go through all the tests you thus need to use
something like this:
def process_suite(suite):
for subsuite in suite.suites:
process_suite(subsuite)
for test in suite.tests:
process_test(test)
I briefly looked at the parabot script at it seems to only go through
tests in the top level suite. That obviously explains why no tests are
run if you use the script with a directory. Are you interested to try
fixing the script? If yes, you might even consider starting a new
project for that so that the script can be versioned.