diff --git a/parser/parser-molcas/runtests.py b/parser/parser-molcas/runtests.py
new file mode 100755
index 0000000000000000000000000000000000000000..23b4d4b8b1c5b81fc2c543e2639fedef71acccd3
--- /dev/null
+++ b/parser/parser-molcas/runtests.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+
+# xXXXXxx This file copied from GULP  XXXxxXxxXXXX
+
+from __future__ import print_function
+from glob import glob
+import re
+from optparse import OptionParser
+from subprocess import Popen, PIPE
+import os
+from ase.parallel import world
+import platform
+
+p = OptionParser()
+opts, args = p.parse_args()
+
+if len(args) == 0:
+    testfiles = glob('test/test???.input.out')
+    testfiles.sort()
+
+    #tests = {}
+
+    #testfiles.sort()
+    #print(testfiles)
+
+    #pat = re.compile('test/outputs/example(\d+)[ab]?.got')
+
+    #for fname in testfiles:
+    #    print(fname, pat.match(fname))
+    #testfiles.sort(key=lambda fname:
+    #               int(pat.match(fname).group(1)))
+    #for f in testfiles:
+    #    print(f)
+else:
+    testfiles = argv
+
+for i, testfile in enumerate(testfiles):
+    if i % world.size != world.rank:
+        continue
+    dirname, basename = os.path.split(testfile)
+    print(basename)
+    py = 'python'
+    if platform.node() == 'labdev-nomad':
+        py = '/labEnv3/bin/python'
+    args = [py, 'main.py', '--annotate']
+    args.append(testfile)
+    proc = Popen(args, stdout=PIPE)
+    txt = proc.stdout.read()
+    with open('%s.json' % testfile, 'w') as fd:
+        fd.write(txt.decode('ascii'))