소스 검색

+ really add rudimentary test script to batch-load all test files using pyassimp

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@952 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
aramis_acg 14 년 전
부모
커밋
1decdf999c
1개의 변경된 파일45개의 추가작업 그리고 0개의 파일을 삭제
  1. 45 0
      port/PyAssimp/quicktest.py

+ 45 - 0
port/PyAssimp/quicktest.py

@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+#-*- coding: UTF-8 -*-
+
+"""
+This module uses the sample.py script to load all test models it finds.
+
+Note: this is not an exhaustive test suite, it does not check the
+data structures in detail. It just verifies whether basic
+loading and querying of 3d models using pyassimp works.
+"""
+
+
+import sys,os
+import sample
+from pyassimp import pyassimp,errors
+
+# paths to be walkd recursively
+basepaths = [os.path.join('..','..','test','models'), os.path.join('..','..','test','models-nonbsd')]
+
+# file extensions to be considered
+extensions = ['.3ds','.x','.lwo','.obj','.md5mesh','.dxf','.ply','.stl','.dae','.md5anim','.lws','.irrmesh','.nff','.off','.blend']
+
+def run_tests():
+	ok,err = 0,0
+	for path in basepaths:
+		for root, dirs, files in os.walk(path):
+			for afile in files:
+				base,ext = os.path.splitext(afile)	
+				if ext in extensions:		
+					try:
+						sample.main(os.path.join(root,afile))
+						ok += 1
+					except errors.AssimpError as error:
+						# assimp error is fine, this is a controlled case
+						print error
+						err += 1
+	print '** Loaded %s models, got controlled errors for %s files' % (ok,err)
+
+
+if __name__ == '__main__':
+	run_tests()
+
+
+
+