1#!/usr/local/bin/python3.8
2
3import sys
4import os
5import subprocess
6
7# Test work_directory named trydir
8workdir_basename="trydir"
9
10if len(sys.argv) > 3:
11    mode = sys.argv[1]
12    paramsfile = sys.argv[2]
13    resultsfile = sys.argv[3]
14else:
15    mode = None
16    paramsfile = sys.argv[1]
17    resultsfile = sys.argv[2]
18
19
20if mode in set(("tag","tag_save")):
21    pwd = os.getcwd()
22    mytag = pwd.split(".")[-1]
23    try:
24        mytag = int(mytag)
25    except ValueError:
26        print "Error: Unexpected directory tag!"
27        sys.exit(1)
28
29if mode is "tag_save":
30    if mytag > 1:
31        lastdir = workdir_basename + ".%d" % (mytag - 1,)
32        if not os.path.isdir(lastdir):
33            print "Error: Failed to find saved directory",lastdir
34            sys.exit(1)
35elif mode in set(("templatefiles","templatedir")):
36    if not os.path.islink("workdir_rosenbrock.dat"):
37        if os.path.isfile("workdir_rosenbrock.dat"):
38	    print "Error: workdir_rosenbrock.dat is regular file; should be symlink"
39        else:
40            print "Error: Failed to find template file workdir_rosenbrock.dat"
41        sys.exit(1)
42
43elif mode in set(("templatedir_copy","templatefiles_copy")):
44    if os.path.islink("workdir_rosenbrock.dat"):
45        print "Error: workdir_rosenbrock.dat is symlink; should be regular file"
46        sys.exit(1)
47    if not os.isfile("workdir_rosenbrock.dat"):
48        print "Error: Failed to find template file workdir_rosenbrock.dat"
49        sys.exit(1)
50
51elif mode is "named_params":
52    if not os.path.isfile("params.in"):
53        print "Error: named parameters file params.in does not exist in trydir"
54        sys.exit(1)
55
56print "Running rosenbrock..."
57
58args = ["rosenbrock",paramsfile,resultsfile]
59
60returncode = subprocess.call(args, stdout=sys.stdout,stderr=sys.stderr)
61sys.exit(returncode)
62
63