1import glob
2import subprocess
3import os
4import sys
5
6langs = ["python","octave"]
7
8if len(sys.argv)>1:
9  langs = sys.argv[1:]
10
11success = True
12
13for lang in langs:
14    print("%s snippets" % lang)
15    snippets = glob.glob('snippets/*.%s.in' % lang)
16    for f in snippets:
17       out_file = f.replace("in","out")
18       with open(f.replace("in","out"), 'w') as myoutput:
19         if lang == "python":
20           args = ["python",f]
21         if lang == "octave":
22           args = ["octave-cli","--eval","try,run('%s'),catch e,e.message,exit(1),end" % f]
23
24         p = subprocess.Popen(args,stdout=myoutput, stderr=myoutput)
25         p.wait()
26       if p.returncode!=0:
27         print(("="*5) + f)
28         print(open(f,'r').read())
29         print("="*50)
30         print(open(out_file,'r').read())
31         success = False
32    print("Processed %d snippets" % len(snippets))
33
34if not success:
35  os.exit(1)
36