def test_get_files_of_type(self): """tests the get_files_of_type function""" model_path = os.path.join('some_incorrect_path') files = get_files_of_type(model_path, extension='.op2', max_size=1.0, limit_file='no_dig.txt') assert len(files) == 0, files model_path = os.path.join(PKG_PATH, '..', 'models') op2_files = get_files_of_type(model_path, extension='.op2', max_size=1.0, limit_file='no_dig.txt') assert len(op2_files) > 0, op2_files
def get_files_from_directories(dirnames: List[str], file_type: str, max_size: float=4.2) -> List[str]: """ Gets all the files in the folder and subfolders. Ignores missing folders. Parameters ---------- dirnames : List[str] paths to the file with a list of folders file_type : str a file extension max_size : float; default=4.2 size in MB for max file size Returns ------- filenames : List[str] a series of filenames that were found """ files2 = [] for move_dir in dirnames: print("move_dir = %s" % move_dir) #assert os.path.exists(move_dir), '%s doesnt exist' % move_dir files_in_dir = get_files_of_type(move_dir, file_type, max_size=max_size) files2 += files_in_dir #print('nfiles = %s/%s' % (len(files_in_dir), len(files2))) #print('nfiles = %s' % len(files2)) return files2
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 test_renumber_05(self): dirname = os.path.join(unit_path, 'obscure') bdf_filenames = get_files_of_type(dirname, extension='.bdf') for bdf_filename in bdf_filenames: print('bdf_filename = %s' % (bdf_filename)) basename = os.path.basename(bdf_filename) base, ext = os.path.splitext(basename) bdf_filename_renumber = os.path.join(dirname, base + '_renumber.bdf_test') bdf_filename_check = os.path.join(dirname, base + '_check.bdf_test') check_renumber(bdf_filename, bdf_filename_renumber, bdf_filename_check)
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 get_all_files(foldersFile, fileType): f = open(foldersFile, 'r') lines = f.readlines() files2 = [] for line in lines: moveDir = os.path.join('r"' + line.strip() + '"') moveDir = line.strip() if moveDir and moveDir[0] != '#': print("moveDir = %s" % moveDir) assert os.path.exists(moveDir), '%s doesnt exist' % (moveDir) files2 += get_files_of_type(moveDir, fileType, maxSize=4.2) return files2
def get_all_files(foldersFile,fileType): f = open(foldersFile,'r') lines = f.readlines() files2 = [] for line in lines: moveDir = os.path.join('r"'+line.strip()+'"') moveDir = line.strip() if moveDir and moveDir[0] != '#': print("moveDir = %s" % moveDir) assert os.path.exists(moveDir), '%s doesnt exist' % (moveDir) files2 += get_files_of_type(moveDir, fileType, maxSize=4.2) return files2
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','.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 get_all_files(folders_file, file_type, max_size=4.2): """ Gets all the files in the folder and subfolders. Ignores missing folders. Parameters ---------- folders_file : str path to the file with a list of folders file_type : str a file extension max_size : float; default=4.2 size in MB for max file size Returns ------- filenames : List[str] a series of filenames that were found """ with open(folders_file, 'r') as file_obj: lines = file_obj.readlines() files2 = [] for line in lines: line = line.strip() if line == '' or line.startswith('#'): continue if '"' in line: # "C:\Program Files\Siemens\NX 12.0\NXNASTRAN\nxn12\nast" line = line.strip('"') pthi = line.split('\\') unused_pth = os.path.join(*pthi) move_dir = os.path.join(line) else: # C:\MSC.Software\MSC.Nastran\msc20051\nast\doc move_dir = os.path.join(line) #move_dir = line.strip() if move_dir: if not os.path.exists(move_dir): #print("***move_dir doesn't exist = %r" % move_dir) continue print("move_dir = %s" % move_dir) #assert os.path.exists(move_dir), '%s doesnt exist' % move_dir files_in_dir = get_files_of_type(move_dir, file_type, max_size=max_size) files2 += files_in_dir #print('nfiles = %s/%s' % (len(files_in_dir), len(files2))) #print('nfiles = %s' % len(files2)) return files2
def get_all_files(folders_file, file_type): f = open(folders_file, 'r') lines = f.readlines() files2 = [] for line in lines: move_dir = os.path.join('r"' + line.strip() + '"') move_dir = line.strip() if move_dir and move_dir[0] != '#': if not os.path.exists(move_dir): print("***move_dir doesn't exist = %s" % move_dir) continue print("move_dir = %s" % move_dir) #assert os.path.exists(moveDir), '%s doesnt exist' % move_dir files2 += get_files_of_type(move_dir, file_type, maxSize=4.2) return files2
def get_all_files(folders_file, file_type): f = open(folders_file, 'r') lines = f.readlines() files2 = [] for line in lines: move_dir = os.path.join('r"'+line.strip()+'"') move_dir = line.strip() if move_dir and move_dir[0] != '#': if not os.path.exists(move_dir): print("***move_dir doesn't exist = %s" % move_dir) continue print("move_dir = %s" % move_dir) #assert os.path.exists(moveDir), '%s doesnt exist' % move_dir files2 += get_files_of_type(move_dir, file_type, maxSize=4.2) return files2
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, make_geom=False, combine=True, write_bdf=False, build_pandas=True, xref_safe=False, save_cases=True, debug=False, write_f06=True, write_op2=False, compare=True, short_stats=False, write_hdf5=True): # works files = get_files_of_type('tests', '.op2') folders_file1 = os.path.join(PKG_PATH, 'bdf', 'test', 'tests', 'foldersRead.txt') folders_file2 = os.path.join(PKG_PATH, 'op2', 'test', 'folders_read.txt') unused_isubcases = [] binary_debug = [True, False] # catch any errors quiet = True stop_on_failure = False get_skip_cards = False max_size = 4000. # MB 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 or not os.path.exists(failed_cases_filename): files2 = get_all_files(folders_file1, '.op2', max_size=max_size) files2 = get_all_files(folders_file2, '.op2', max_size=max_size) files2 += files assert len(files2) > 0, files2 else: print('failed_cases_filename = %r' % failed_cases_filename) files2 = get_failed_files(failed_cases_filename) assert len(files2) > 0, files2 files = list(set(files2)) files.sort() files = [filename for filename in files if '.test_op2.' not in filename] skip_files = [] #skip_files = ['nltrot99.op2', 'rot12901.op2', 'plan20s.op2'] # giant nstart = 0 nstop = 20000 if os.path.exists('skipped_cards.out'): os.remove('skipped_cards.out') #try: #os.remove('skipped_cards.out') #except F: #pass print("nfiles = %s" % len(files)) import time time0 = time.time() from pyNastran.op2.test.test_op2 import run_lots_of_files failed_files = run_lots_of_files(files, make_geom=make_geom, combine=combine, write_bdf=write_bdf, xref_safe=xref_safe, write_f06=write_f06, delete_f06=True, write_op2=write_op2, delete_op2=True, write_hdf5=write_hdf5, delete_hdf5=True, build_pandas=build_pandas, debug=debug, skip_files=skip_files, stop_on_failure=stop_on_failure, nstart=nstart, nstop=nstop, binary_debug=binary_debug, compare=compare, short_stats=short_stats, quiet=quiet, dev=True) if save_cases: with open(failed_cases_filename, 'w') as failed_cases_file: for op2file in failed_files: failed_cases_file.write('%s\n' % op2file) seconds = time.time() - time0 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): """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...')
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] [--test]\n" msg += " test_pynastrangui [-f FORMAT] INPUT_FILENAME [--log LOG] [--test]\n" msg += " test_pynastrangui -f FORMAT [-r] [-d] INPUT_DIRECTORY [--log LOG] [--test]\n" msg += " test_pynastrangui -f FORMAT [-r] [-d] [--log LOG] [--test]\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 += "Debug:\n" msg += " --test temporary dev mode (default=False)\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'] check_path(input_filename, 'input_filename') 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, data[ '--test']
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 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...')
for fd in range(0, soft): try: flags = fcntl.fcntl(fd, fcntl.F_GETFD) except IOError: continue fds.append(fd) return fds def get_file_names_from_file_number(fds): names = [] for fd in fds: names.append(os.readlink('/proc/self/fd/%d' % fd)) return names if __name__ == '__main__': 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 if regenerate: files2 = get_all_files(foldersFile, '.bdf') files2 += get_all_files(foldersFile, '.nas') files2 += get_all_files(foldersFile, '.dat') files2 += files
def test_get_files_of_type(self): """tests the get_files_of_type function""" model_path = os.path.join(PKG_PATH, '..', 'models') op2_files = get_files_of_type(model_path, extension='.op2', max_size=100., limit_file='no_dig.txt')
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...')