views:

174

answers:

2

Hey all,

First of all this is not homework, I'm in a desperate need for a script that will do the following, my problem is, I've never had to deal with python before so I barely know how to use it - and I need it to launch unit tests in TeamCity via a commandline build runner

What I need exactly is :

a *.bat file that will run the script

a python script that will :

  • get all *_test.exe files in the current working directory
  • run all the files which were the result of the search

Best regards

+3  A: 

If you copy this into a file, the script should do as you asked.

import os       # Access the operating system.

def solution(): # Create a function for later.
    for name in os.listdir(os.getcwd()):
        if name.lower().endswith('_test.exe'):
            os.startfile(name)

solution()      # Execute this inside the CWD.
Noctis Skytower
there's a problem with this solution :)
Maciek
+4  A: 
import glob, os
def solution():
    for fn in glob.glob("*_text.exe"):
        os.startfile(fn)
gnibbler
this solution worked. Another question that I have is : can I make the script wait till the current process finishes execution ?
Maciek
add `import subprocess` and change `os.startfile(fn)` to `p = subprocess.Popen([fn]); p.wait()`. p.wait() will also give you the return code so you could do something like `if p.wait() == 0: print 'Success'; else: print 'Fail'`
Wayne Werner
That did it, cheers Wayne and gnibbler
Maciek