📄 test.py
字号:
"""Run all demos."""__author__ = "Ilmar Wilbers (ilmarw@simula.no)"__date__ = "2008-04-08 -- 2008-04-09"__copyright__ = "Copyright (C) 2008 Ilmar Wilbers"__license__ = "GNU LGPL Version 2.1"# Modified by Anders Logg 2008import sys, os, refrom commands import getstatusoutput# Demos to runcppdemos = []pydemos = []for dpath, dnames, fnames in os.walk(os.path.join(os.curdir, "..", "..", "demo")): if os.path.basename(dpath) == 'cpp': if os.path.isfile(os.path.join(dpath, 'SConstruct')): cppdemos.append(dpath) elif os.path.basename(dpath) == 'python': if os.path.isfile(os.path.join(dpath, 'demo.py')): pydemos.append(dpath) # Set non-interactiveos.putenv('DOLFIN_NOPLOT', '1')print "Running all demos (non-interactively)"print ""print "Found %d C++ demos" % len(cppdemos)print "Found %d Python demos" % len(pydemos)print ""# Remove demos that are known not to work (FIXME's)pydemos.remove('./../../demo/nls/nonlinearpoisson/python')pydemos.remove('./../../demo/pde/nonlinear-poisson/python')pydemos.remove('./../../demo/pde/lift-drag/python')pydemos.remove('./../../demo/ode/aliev-panfilov/python')# Demos that need command line arguments are treated seperatelypydemos.remove('./../../demo/quadrature/python')cppdemos.remove('./../../demo/quadrature/cpp')cppdemos.remove('./../../demo/ode/method-weights/cpp')cppdemos.remove('./../../demo/ode/stiff/cpp')failed = []# Run C++ demosfor demo in cppdemos: print "----------------------------------------------------------------------" print "Running C++ demo %s" % demo print "" if os.path.isfile(os.path.join(demo, 'demo')): output = getstatusoutput("cd %s && ./demo" % demo) success = not output[0] if success: print "OK" else: print "*** Failed" failed += [(demo, "C++", output[1])] else: print "*** Warning: missing demo"# Run Python demosfor demo in pydemos: print "----------------------------------------------------------------------" print "Running Python demo %s" % demo print "" if os.path.isfile(os.path.join(demo, 'demo.py')): output = getstatusoutput("cd %s && python ./demo.py" % demo) success = not output[0] if success: print "OK" else: print "*** Failed" failed += [(demo, "Python", output[1])] else: print "*** Warning: missing demo"# Print output for failed testsprint ""if len(failed) > 0: print "%d demo(s) failed, see demo.log for details." % len(failed) file = open("demo.log", "w") for (test, interface, output) in failed: file.write("----------------------------------------------------------------------\n") file.write("%s (%s)\n" % (test, interface)) file.write("\n") file.write(output) file.write("\n") file.write("\n")else: print "All demos checked: OK"# Return error code if tests failedsys.exit(len(failed) != 0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -