1 from pathlib
import Path
3 if '' in sys
.path
: sys
.path
.remove('')
4 sys
.path
.append(str(Path(__file__
).parent
.parent
.parent
))
5 from os
import remove
, makedirs
, environ
6 from os
.path
import exists
7 from shutil
import rmtree
, copy
8 from unittest
import TestCase
9 from itertools
import product
11 from ya2
.build
.models
import ModelsBuilder
14 class ModelsBuilderTests(TestCase
):
17 self
.dirs
= ['box', 'domino']
18 for fmt_dir
in product(['bam', 'gltf'], self
.dirs
):
19 rmtree('tests/assets/models/%s/%s' % fmt_dir
, ignore_errors
=True)
21 def test_models(self
):
22 if environ
.get('FAST') == '1':
23 self
.skipTest('skipped slow tests')
24 for fmt_dir
in product(['bam', 'gltf'], self
.dirs
):
25 self
.assertFalse(exists('tests/assets/%s/%s' % fmt_dir
))
27 ModelsBuilder().build('tests/assets/models', 1)
28 #self.assertTrue(time() - start > 1.5)
30 'tests/assets/models/bam/cube/cube.bam',
31 'tests/assets/models/bam/cube/diffuse.dds',
32 # 'assets/models/bam/box/box.bam',
33 # 'assets/models/bam/box/base.dds',
34 # 'assets/models/bam/box/ao_metal_roughness.dds',
35 # 'assets/models/bam/box/normal.dds',
36 # 'assets/models/bam/domino/domino.bam',
37 # 'assets/models/bam/domino/base.dds',
38 # 'assets/models/bam/domino/ao_roughness_metal.dds',
39 # 'assets/models/bam/domino/normal.dds',
40 # 'assets/models/gltf/box/box.gltf',
41 # 'assets/models/gltf/box/base.png',
42 # 'assets/models/gltf/box/ao_metal_roughness.png',
43 # 'assets/models/gltf/box/normal.png',
44 # 'assets/models/gltf/domino/domino.gltf',
45 # 'assets/models/gltf/domino/base.png',
46 # 'assets/models/gltf/domino/ao_roughness_metal.png',
47 # 'assets/models/gltf/domino/normal.png'
49 [self
.assertTrue(exists(fname
)) for fname
in files
]
51 #ModelsBuilder().build('assets/models', 1)
52 #self.assertTrue(time() - start < 1.5) # test caching
53 #[self.assertTrue(exists(fname)) for fname in files]