def main(): # works files = get_files_of_type('tests', '.op2') foldersFile = os.path.join(pkg_path, 'bdf', 'test', 'tests', 'foldersRead.txt') iSubcases = [] debug = False make_geom = False write_bdf = False write_f06 = True write_op2 = False is_vector = [True, False] delete_f06 = True saveCases = True regenerate = False stopOnFailure = False getSkipCards = False if getSkipCards: files2 = parse_skipped_cards('skippedCards.out') elif regenerate: files2 = get_all_files(foldersFile, '.op2') files2 += files files2.sort() else: files2 = get_failed_files('failedCases.in') files = files2 skipFiles = ['nltrot99.op2', 'rot12901.op2', 'plan20s.op2'] # giant nStart = 0 nStop = 10000 try: os.remove('skippedCards.out') except: pass print("nFiles = %s" % len(files)) import time t0 = time.time() run_lots_of_files(files, make_geom=make_geom, write_bdf=write_bdf, write_f06=write_f06, delete_f06=delete_f06, write_op2=write_op2, debug=debug, saveCases=saveCases, skipFiles=skipFiles, stopOnFailure=stopOnFailure, is_vector=is_vector, nStart=nStart, nStop=nStop) print("dt = %f" % (time.time() - t0)) sys.exit('final stop...')
def main(regenerate=True, make_geom=False, write_bdf=False): # works files = get_files_of_type('tests', '.op2') folders_file = os.path.join(pkg_path, 'bdf', 'test', 'tests', 'foldersRead.txt') iSubcases = [] debug = False write_f06 = True write_op2 = False is_vector = [True] # is this vectorized vector_stop = [True] # corresponds to is_vector; stop if case fails=True binary_debug = False # catch any errors quiet = True delete_f06 = True save_cases = True stop_on_failure = False get_skip_cards = False if get_skip_cards: files2 = parse_skipped_cards('skipped_cards.out') elif regenerate: files2 = get_all_files(folders_file, '.op2') files2 += files files2.sort() else: files2 = get_failed_files('failed_cases.in') files = files2 skip_files = [] #skip_files = ['nltrot99.op2', 'rot12901.op2', 'plan20s.op2'] # giant nstart = 0 nstop = 10000 try: os.remove('skipped_cards.out') except: pass print("nfiles = %s" % len(files)) import time t0 = time.time() short_stats = data['--short_stats'] run_lots_of_files(files, make_geom=make_geom, write_bdf=write_bdf, write_f06=write_f06, delete_f06=delete_f06, write_op2=write_op2, debug=debug, save_cases=save_cases, skip_files=skip_files, stop_on_failure=stop_on_failure, is_vector=is_vector, vector_stop=vector_stop, nstart=nstart, nstop=nstop, binary_debug=binary_debug, compare=not data['--disablecompare'], short_stats=short_stats, quiet=quiet) print("dt = %f" %(time.time() - t0)) sys.exit('final stop...')
def main(): # works files = get_files_of_type('tests', '.op2') foldersFile = os.path.join(pkg_path, 'bdf', 'test', 'tests', 'foldersRead.txt') iSubcases = [] debug = False make_geom = False write_bdf = False write_f06 = True write_op2 = False is_vector = [True, False] # is this vectorized vector_stop = [True, True] # corresponds to is_vector; stop if case fails=True binary_debug = False # catch any errors delete_f06 = True saveCases = True regenerate = False stopOnFailure = False getSkipCards = False if getSkipCards: files2 = parse_skipped_cards('skippedCards.out') elif regenerate: files2 = get_all_files(foldersFile, '.op2') files2 += files files2.sort() else: files2 = get_failed_files('failedCases.in') files = files2 skipFiles = ['nltrot99.op2', 'rot12901.op2', 'plan20s.op2'] # giant nStart = 0 nStop = 10000 try: os.remove('skippedCards.out') except: pass print("nFiles = %s" % len(files)) import time t0 = time.time() run_lots_of_files(files, make_geom=make_geom, write_bdf=write_bdf, write_f06=write_f06, delete_f06=delete_f06, write_op2=write_op2, debug=debug, saveCases=saveCases, skipFiles=skipFiles, stopOnFailure=stopOnFailure, is_vector=is_vector, vector_stop=vector_stop, nStart=nStart, nStop=nStop, binary_debug=binary_debug) print("dt = %f" %(time.time() - t0)) sys.exit('final stop...')
def main(): # works files = get_files_of_type('tests', '.f06') #moveDir = r'D:\work\move\hard_demo' moveDir = r'D:\work\move\move_tpl' #moveDir = r'D:\work\move\solid_shell_bar' #files2 = ['ann6611.f06'] iSubcases = [] debug = False saveCases = True regenerate = False stopOnFailure = False getSkipCards = False if getSkipCards: files2 = parse_skipped_cards('skippedCards.out') elif regenerate: files2 = get_files_of_type(moveDir, '.f06') #print files2 #files2 = [] files2 += files else: files2 = get_failed_files('failedCases.in') #files2 = [r'D:\work\move\move_tpl\ar29sadl.f06'] #files = files+files2 files = files2 #files = [r'D:\work\move\move_tpl\see101hs.f06'] #print len(files) #files = [] # HIS, R1B EQEXIN #skipFiles = ['accopt3.f06','acms111m.f06','adjoint.f06','aerobeam.f06',] # tpl skipFiles = ['nltrot99.f06', 'rot12901.f06'] # giant #print files nStart = 0 nStop = 10000 try: os.remove('skippedCards.out') except: pass print("nFiles = %s" % len(files)) run_lots_of_files(files, debug, saveCases, skipFiles, stopOnFailure, nStart, nStop) #run_lots_of_files(files,debug,saveCases,stopOnFailure,nStart,nStop) sys.exit('final stop...')
def main(): # works files = get_files_of_type('tests','.op2') foldersFile = 'tests/foldersRead.txt' iSubcases = [] debug = False make_geom = False write_bdf = False write_f06 = True write_op2 = False is_vector = False delete_f06 = True saveCases = True regenerate = False stopOnFailure = False getSkipCards = False if getSkipCards: files2 = parse_skipped_cards('skippedCards.out') elif regenerate: files2 = get_all_files(foldersFile,'.op2') files2 += files files2.sort() else: files2 = get_failed_files('failedCases.in') files = files2 skipFiles = ['nltrot99.op2','rot12901.op2','plan20s.op2'] # giant nStart = 0 nStop = 10000 try: os.remove('skippedCards.out') except: pass print("nFiles = %s" % len(files)) import time t0 = time.time() run_lots_of_files(files, make_geom=make_geom, write_bdf=write_bdf, write_f06=write_f06, delete_f06=delete_f06, write_op2=write_op2, debug=debug, saveCases=saveCases, skipFiles=skipFiles, stopOnFailure=stopOnFailure, is_vector=is_vector, nStart=nStart, nStop=nStop) print("dt = %f" %(time.time() - t0)) sys.exit('final stop...')
def run(regenerate=True, make_geom=False, write_bdf=False, save_cases=True, debug=False, write_f06=True, compare=True, short_stats=False): # works files = get_files_of_type('tests', '.op2') folders_file = os.path.join(pkg_path, 'bdf', 'test', 'tests', 'foldersRead.txt') isubcases = [] write_op2 = False is_vector = [True] # is this vectorized vector_stop = [True] # corresponds to is_vector; stop if case fails=True binary_debug = [True, False] # catch any errors quiet = True delete_f06 = True stop_on_failure = False get_skip_cards = False failed_cases_filename = 'failed_cases%s%s.in' % (sys.version_info[:2]) if get_skip_cards: files2 = parse_skipped_cards('skipped_cards.out') elif regenerate: files2 = get_all_files(folders_file, '.op2') files2 += files files2.sort() else: print('failed_cases_filename = %r' % failed_cases_filename) files2 = get_failed_files(failed_cases_filename) files = files2 skip_files = [] #skip_files = ['nltrot99.op2', 'rot12901.op2', 'plan20s.op2'] # giant nstart = 0 nstop = 20000 try: os.remove('skipped_cards.out') except: pass print("nfiles = %s" % len(files)) import time t0 = time.time() failed_files = run_lots_of_files(files, make_geom=make_geom, write_bdf=write_bdf, write_f06=write_f06, delete_f06=delete_f06, write_op2=write_op2, debug=debug, skip_files=skip_files, stop_on_failure=stop_on_failure, is_vector=is_vector, vector_stop=vector_stop, nstart=nstart, nstop=nstop, binary_debug=binary_debug, compare=compare, short_stats=short_stats, quiet=quiet, dev=True) if save_cases: if PY2: write = 'wb' else: write = 'w' with open(failed_cases_filename, write) as failed_cases_file: for op2file in failed_files: failed_cases_file.write('%s\n' % op2file) seconds = time.time() - t0 minutes = seconds / 60. print("dt = %.2f seconds = %.2f minutes" % (seconds, minutes)) ntotal = len(files) nfailed = len(failed_files) npassed = ntotal - nfailed msg = '-----done with all models %s/%s=%.2f%% nfailed=%s-----' % ( npassed, ntotal, 100. * npassed / float(ntotal), ntotal - npassed) print(msg) sys.exit("%s\ndt = %.2f seconds = %.2f minutes" % (msg, seconds, minutes))
def run(regenerate=True, run_nastran=False, debug=False, sum_load=True, xref=True, crash_cards=None): """Runs the full BDF test suite""" if crash_cards is None: crash_cards = [] # F:\work\pyNastran\pyNastran\master2\pyNastran\bdf\test files = get_files_of_type('tests', '.bdf') files += get_files_of_type('tests', '.dat') folders_file = os.path.join(PKG_PATH, 'bdf', 'test', 'tests', 'foldersRead.txt') # isubcases = [] # save_cases = True # stop_on_failure = False if run_nastran: if os.path.exists(r'C:\MSC.Software\MSC.Nastran\bin\nastran.exe'): nastran = r'C:\MSC.Software\MSC.Nastran\bin\nastran.exe scr=yes bat=no old=no ' else: raise RuntimeError('cant find Nastran') # elif os.path.exsits(): else: nastran = '' failed_cases_filename = 'failed_cases%s%s.in' % (sys.version_info[:2]) if regenerate: files2 = get_all_files(folders_file, '.bdf') files2 += get_all_files(folders_file, '.nas') files2 += get_all_files(folders_file, '.dat') files2 = list(set(files2)) files2.sort() else: print('failed_cases_filename = %r' % failed_cases_filename) files2 = get_failed_files(failed_cases_filename) #for filename in files2: #print(filename) skip_files = [ 'mp10a.dat', 'mp20e.dat', 'mp30.dat', 'mp30b.dat', 'mp60bd.dat', 'mp60br.dat', 'mp60cd.dat', 'mp60cr.dat', 'mp70a.dat', #'heli112em8.dat', # horrible CORD1x model ] files = remove_marc_files(files2) files = [fname for fname in files if not os.path.basename(fname).startswith('out_') and '.test_op2.' not in fname # removing test output files and '.test_bdf.' not in fname and '.test_bdfv.' not in fname and 'tecplot' not in fname and os.path.basename(fname) not in skip_files] if os.path.exists('skipped_cards.out'): os.remove('skipped_cards.out') print("nfiles = %s" % len(files)) cid = None check = True debug = False size = [8] is_double = [False] post = -1 failed_files = run_lots_of_files(files, debug=debug, xref=xref, check=check, cid=cid, nastran=nastran, size=size, is_double=is_double, post=post, encoding='latin1', crash_cards=crash_cards, dev=True, pickle_obj=True) ntotal = len(files) nfailed = len(failed_files) npassed = ntotal - nfailed sys.stderr.write('%i/%i passed\n' % (npassed, ntotal)) if PY2: write = 'wb' else: write = 'w' with open(failed_cases_filename, write) as failed_cases_file: for fname in failed_files: failed_cases_file.write('%s\n' % fname) sys.exit('finished...')
def run(regenerate=True): """Runs the full BDF test suite""" if crash_cards is None: crash_cards = [] # F:\work\pyNastran\pyNastran\master2\pyNastran\bdf\test files = get_files_of_type('tests', '.bdf') files += get_files_of_type('tests', '.dat') folders_file = 'tests/foldersRead.txt' # isubcases = [] # save_cases = True # stop_on_failure = False failed_cases_filename = 'failed_cases%s%s.in' % (sys.version_info[:2]) if regenerate: files2 = get_all_files(folders_file, '.bdf') files2 += get_all_files(folders_file, '.nas') files2 += get_all_files(folders_file, '.dat') files2 += files files2.sort() else: print('failed_cases_filename = %r' % failed_cases_filename) files2 = get_failed_files(failed_cases_filename) skip_files = [ 'mp10a.dat', 'mp20e.dat', 'mp30.dat', 'mp30b.dat', 'mp60bd.dat', 'mp60br.dat', 'mp60cd.dat', 'mp60cr.dat', 'mp70a.dat', #'heli112em8.dat', # horrible CORD1x model ] files = remove_marc_files(files2) files = [fname for fname in files if not os.path.basename(fname).startswith('out_') and '.test_op2.' not in fname # removing test output files and '.test_bdf.' not in fname and 'tecplot' not in fname and os.path.basename(fname) not in skip_files] print("nfiles = %s" % len(files)) check = True debug = False failed_files = run_lots_of_files(files, debug=debug, encoding='latin1', dev=True) ntotal = len(files) nfailed = len(failed_files) npassed = ntotal - nfailed sys.stderr.write('%i/%i passed\n' % (npassed, ntotal)) write = 'w' with open(failed_cases_filename, write) as failed_cases_file: for fname in failed_files: failed_cases_file.write('%s\n' % fname) sys.exit('finished...')
foldersFile = 'tests/foldersRead.txt' iSubcases = [] debug = False saveCases = True regenerate = False stopOnFailure = False if regenerate: files2 = get_all_files(foldersFile, '.bdf') files2 += get_all_files(foldersFile, '.nas') files2 += get_all_files(foldersFile, '.dat') files2 += files else: files2 = get_failed_files('failedCases.in') files = remove_marc_files(files2) skipFiles = [] # giant nStart = 0 nStop = 10000 try: os.remove('skippedCards.out') except: pass print("nFiles = %s" % len(files)) cid = None check = True
def run_docopt(argv=None): """ The main function for the command line ``test_pynastran_gui`` script. """ msg = "Usage:\n" # INPUT format may be explicitly or implicitly defined with or # without an output file msg += " test_pynastrangui [-f FORMAT] INPUT_FILENAME OUTPUT_FILENAME [--log LOG]\n" msg += " test_pynastrangui [-f FORMAT] INPUT_FILENAME [--log LOG]\n" msg += " test_pynastrangui -f FORMAT [-r] [-d] INPUT_DIRECTORY [--log LOG]\n" msg += " test_pynastrangui -f FORMAT [-r] [-d] [--log LOG]\n" msg += ' test_pynastrangui -h | --help\n' msg += ' test_pynastrangui -v | --version\n' msg += '\n' msg += 'Positional Arguments:\n' msg += ' INPUT_FILENAME path to input file\n' msg += ' OUTPUT_FILENAME path to output file\n' msg += ' INPUT_DIRECTORY path to input directory\n' msg += '\n' msg += "Options:\n" msg += ' -f FORMAT, --format format type (avus, cart3d, lawgs, nastran, panair,\n' msg += ' su2, stl, surf, tetgen, usm3d, ugrid)\n' msg += ' -d, --dir directory to run tests on\n' msg += " -r, --regenerate Resets the tests\n" msg += ' --log LOG debug, info, warning, error; default=debug\n' msg += '\n' msg += 'Info:\n' #msg += " -q, --quiet prints debug messages (default=True)\n" msg += ' -h, --help show this help message and exit\n' msg += " -v, --version show program's version number and exit\n" if len(sys.argv) == 1: sys.exit(msg) ver = str(pyNastran.__version__) data = docopt(msg, argv=argv, help=True, version=ver, options_first=False) isdir = data['INPUT_DIRECTORY'] or not data['INPUT_FILENAME'] or data[ '--dir'] if isdir or data['--dir']: formati = data['--format'].lower() #print("sys.version_info[:2]) =", sys.version_info[:2]) failed_cases_filename = 'failed_cases_%s_%s%s.in' % ( formati, sys.version_info[0], sys.version_info[1]) print(failed_cases_filename) if data['--regenerate'] or not os.path.exists(failed_cases_filename): dirname = data['INPUT_DIRECTORY'] if not os.path.exists(dirname): msg = 'dirname=%r does not exist\n%s' % ( dirname, print_bad_path(dirname)) raise RuntimeError(msg) if not os.path.isdir(dirname): msg = 'dirname=%r is not a directory' % dirname raise RuntimeError(msg) extensions = FORMAT_TO_EXTENSION[formati] input_filenames = [ get_files_of_type(dirname, extension=extension, max_size=100., limit_file='no_dig.txt') for extension in extensions ] input_filenames = list( itertools.chain.from_iterable(input_filenames)) else: input_filenames = get_failed_files(failed_cases_filename) output_filenames = [None] * len(input_filenames) else: failed_cases_filename = None input_filename = data['INPUT_FILENAME'] output_filename = data['OUTPUT_FILENAME'] if not os.path.exists(input_filename): msg = 'input_filename=%r does not exist\n%s' % ( input_filename, print_bad_path(input_filename)) raise RuntimeError(msg) if not os.path.isfile(input_filename): msg = 'input_filename=%r is not a file' % input_filename raise RuntimeError(msg) input_filenames = [input_filename] output_filenames = [output_filename] if data['--format']: formati = data['--format'].lower() else: formati = determine_format(input_filename) print('formati', formati) #assert formati == 'nastran', 'format=%r' % formati if data['--log']: log_method = data['--log'].lower() assert log_method in ['debug', 'info', 'warning', 'error'], 'log_method=%r' % log_method else: log_method = 'debug' return formati, input_filenames, output_filenames, failed_cases_filename, log_method
def run(regenerate=True, run_nastran=False, debug=False, sum_load=True): """Runs the full BDF test suite""" # F:\work\pyNastran\pyNastran\master2\pyNastran\bdf\test files = get_files_of_type('tests', '.bdf') files += get_files_of_type('tests', '.dat') folders_file = 'tests/foldersRead.txt' # isubcases = [] # save_cases = True # stop_on_failure = False if run_nastran: if os.path.exists(r'C:\MSC.Software\MSC.Nastran\bin\nastran.exe'): nastran = r'C:\MSC.Software\MSC.Nastran\bin\nastran.exe scr=yes bat=no old=no ' else: raise RuntimeError('cant find Nastran') # elif os.path.exsits(): else: nastran = '' if regenerate: files2 = get_all_files(folders_file, '.bdf') files2 += get_all_files(folders_file, '.nas') files2 += get_all_files(folders_file, '.dat') files2 += files files2.sort() else: files2 = get_failed_files('failedCases.in') files = remove_marc_files(files2) files = [fname for fname in files if not os.path.basename(fname).startswith('out_') and '.test_op2.' not in fname] # removing test output files # skip_files = [] # giant # nstart = 0 # nstop = 10000 if os.path.exists('skippedCards.out'): os.remove('skippedCards.out') print("nFiles = %s" % len(files)) cid = None check = True xref = True debug = False size = [8] is_double = [False] post = -1 failed_files = run_lots_of_files(files, debug=debug, xref=xref, check=check, cid=cid, nastran=nastran, size=size, is_double=is_double, post=post) ntotal = len(files) nfailed = len(failed_files) npassed = ntotal - nfailed sys.stderr.write('%i/%i passed\n' % (npassed, ntotal)) if PY2: write = 'wb' else: write = 'w' with open('failedCases.in', write) as failed_cases_file: for fname in failed_files: failed_cases_file.write('%s\n' % fname) sys.exit('finished...')
def main(): # works files = get_files_of_type('tests', '.f06') folders_file = os.path.join(pkg_path, 'bdf', 'test', 'tests', 'foldersRead.txt') #files2 = ['ann6611.f06'] isubcases = [] debug = False save_cases = True regenerate = True stop_on_failure = False get_skip_cards = False if get_skip_cards: files2 = parse_skipped_cards('skipped_cards.out') elif regenerate: files2 = get_all_files(folders_file, '.f06') for fname in files2: if 'test_f06' in fname: os.remove(fname) files3 = [] for fname in files2: if 'test_f06' not in fname: files3.append(fname) #files2 = [fname if 'test_f06' not in fname for fname in files2] files2 = files3 #print(files2) #files2 = [] files2 += files files2.sort() else: files2 = get_failed_files('failed_cases.in') files2 = [fname for fname in files2 if '.test_op2.f06' not in fname and '.test_f06.f06' not in fname] #files2 = [r'D:\work\move\move_tpl\ar29sadl.f06'] #files = files+files2 files = files2 #files = [r'D:\work\move\move_tpl\see101hs.f06'] #print(len(files)) #files = [] # HIS, R1B EQEXIN #skipFiles = ['accopt3.f06','acms111m.f06','adjoint.f06','aerobeam.f06',] # tpl skip_files = ['nltrot99.f06', 'rot12901.f06'] # giant #print(files) nstart = 0 nstop = 10000 try: os.remove('skipped_cards.out') except: pass print("nfiles = %s" % len(files)) #print(files) import time t0 = time.time() run_lots_of_files(files, debug, save_cases, skip_files, stop_on_failure, nstart, nstop) print("dt = %f" % (time.time() - t0)) sys.exit('final stop...')
def main(): # F:\work\pyNastran\pyNastran\master2\pyNastran\bdf\test files = get_files_of_type('tests', '.bdf') files += get_files_of_type('tests', '.dat') foldersFile = 'tests/foldersRead.txt' iSubcases = [] debug = False saveCases = True regenerate = True stopOnFailure = False nastran = r'C:\MSC.Software\MSC.Nastran\bin\nastran.exe scr=yes bat=no old=no ' nastran = '' if regenerate: files2 = get_all_files(foldersFile, '.bdf') files2 += get_all_files(foldersFile, '.nas') files2 += get_all_files(foldersFile, '.dat') files2 += files files2.sort() else: files2 = get_failed_files('failedCases.in') files = remove_marc_files(files2) files = [fname for fname in files if not os.path.basename(fname).startswith('out_')] # removing test output files skipFiles = [] # giant nStart = 0 nStop = 10000 try: os.remove('skippedCards.out') except: pass print("nFiles = %s" % len(files)) cid = None check = True xref = True debug = False size = [8] is_double = [False] post = -1 failed_files = run_lots_of_files(files, debug=debug, xref=xref, check=check, cid=cid, nastran=nastran, size=size, is_double=is_double, post=post) ntotal = len(files) nfailed = len(failed_files) npassed = ntotal - nfailed sys.stderr.write('%i/%i passed\n' % (npassed, ntotal)) try: if PY2: f = open('failedCases.in', 'wb') else: f = open('failedCases.in', 'w') except IOError: #fds = get_open_fds() #print(get_file_names_from_file_number(fds)) raise for fname in failed_files: f.write('%s\n' % fname) f.close() sys.exit('finished...')
def main(): # works files = get_files_of_type('tests', '.f06') folders_file = os.path.join(pkg_path, 'bdf', 'test', 'tests', 'foldersRead.txt') #files2 = ['ann6611.f06'] isubcases = [] debug = False save_cases = True regenerate = True stop_on_failure = False get_skip_cards = False if get_skip_cards: files2 = parse_skipped_cards('skipped_cards.out') elif regenerate: files2 = get_all_files(folders_file, '.f06') for fname in files2: if 'test_f06' in fname: os.remove(fname) files3 = [] for fname in files2: if 'test_f06' not in fname: files3.append(fname) #files2 = [fname if 'test_f06' not in fname for fname in files2] files2 = files3 #print(files2) #files2 = [] files2 += files files2.sort() else: files2 = get_failed_files('failed_cases.in') files2 = [ fname for fname in files2 if '.test_op2.f06' not in fname and '.test_f06.f06' not in fname ] #files2 = [r'D:\work\move\move_tpl\ar29sadl.f06'] #files = files+files2 files = files2 #files = [r'D:\work\move\move_tpl\see101hs.f06'] #print(len(files)) #files = [] # HIS, R1B EQEXIN #skipFiles = ['accopt3.f06','acms111m.f06','adjoint.f06','aerobeam.f06',] # tpl skip_files = ['nltrot99.f06', 'rot12901.f06'] # giant #print(files) nstart = 0 nstop = 10000 try: os.remove('skipped_cards.out') except: pass print("nfiles = %s" % len(files)) #print(files) import time t0 = time.time() run_lots_of_files(files, debug, save_cases, skip_files, stop_on_failure, nstart, nstop) print("dt = %f" % (time.time() - t0)) sys.exit('final stop...')