Source code for pyNastran.bdf.test.bdf_test

#pylint: disable=C0103
from __future__ import (nested_scopes, generators, division, absolute_import,
                        print_function, unicode_literals)
from six import PY2
import os
import sys
#import time

from pyNastran.bdf.test.test_bdf import run_lots_of_files
from pyNastran.op2.test.test_op2 import get_failed_files
from pyNastran.op2.test.op2_test import get_all_files
from pyNastran.utils.dev import get_files_of_type

[docs]def remove_marc_files(files): files2 = [] for f in files: if 'marc' not in f: files2.append(f) return files2
[docs]def get_open_fds(): import resource fds = [] soft, hard = resource.getrlimit(resource.RLIMIT_NOFILE) for fd in range(0, soft): try: flags = fcntl.fcntl(fd, fcntl.F_GETFD) except IOError: continue fds.append(fd) return fds
[docs]def get_file_names_from_file_number(fds): names = [] for fd in fds: names.append(os.readlink('/proc/self/fd/%d' % fd)) return names
[docs]def 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 = False 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 failed_files = run_lots_of_files(files, debug=debug, xref=xref, check=check, cid=cid, nastran=nastran) 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...')
if __name__ == '__main__': # pragma: no cover main()