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