diff options
| author | sanine <sanine.not@pm.me> | 2022-03-04 10:47:15 -0600 | 
|---|---|---|
| committer | sanine <sanine.not@pm.me> | 2022-03-04 10:47:15 -0600 | 
| commit | 058f98a63658dc1a2579826ba167fd61bed1e21f (patch) | |
| tree | bcba07a1615a14d943f3af3f815a42f3be86b2f3 /src/mesh/assimp-master/port/PyAssimp/scripts/quicktest.py | |
| parent | 2f8028ac9e0812cb6f3cbb08f0f419e4e717bd22 (diff) | |
add assimp submodule
Diffstat (limited to 'src/mesh/assimp-master/port/PyAssimp/scripts/quicktest.py')
| -rwxr-xr-x | src/mesh/assimp-master/port/PyAssimp/scripts/quicktest.py | 53 | 
1 files changed, 53 insertions, 0 deletions
diff --git a/src/mesh/assimp-master/port/PyAssimp/scripts/quicktest.py b/src/mesh/assimp-master/port/PyAssimp/scripts/quicktest.py new file mode 100755 index 0000000..cbeccb4 --- /dev/null +++ b/src/mesh/assimp-master/port/PyAssimp/scripts/quicktest.py @@ -0,0 +1,53 @@ +#!/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 os +import sys + +# Make the development (ie. GIT repo) version of PyAssimp available for import. +sys.path.insert(0, '..') + +import sample +from pyassimp import errors + +# Paths to model files. +basepaths = [os.path.join('..', '..', '..', 'test', 'models'), +             os.path.join('..', '..', '..', 'test', 'models-nonbsd')] + +# Valid extensions for 3D model files. +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: +        print("Looking for models in %s..." % path) +        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 +                    except Exception: +                        print("Error encountered while loading <%s>" +                              % os.path.join(root, afile)) +    print('** Loaded %s models, got controlled errors for %s files' +          % (ok, err)) + + +if __name__ == '__main__': +    run_tests()  | 
