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('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('assets/%s/%s' % fmt_dir
))
27 ModelsBuilder().build('assets/models', 1)
28 self
.assertTrue(time() - start
> 1.5)
30 'assets/models/bam/box/box.bam',
31 'assets/models/bam/box/base.dds',
32 'assets/models/bam/box/ao_metal_roughness.dds',
33 'assets/models/bam/box/normal.dds',
34 'assets/models/bam/domino/domino.bam',
35 'assets/models/bam/domino/base.dds',
36 'assets/models/bam/domino/ao_roughness_metal.dds',
37 'assets/models/bam/domino/normal.dds',
38 'assets/models/gltf/box/box.gltf',
39 'assets/models/gltf/box/base.png',
40 'assets/models/gltf/box/ao_metal_roughness.png',
41 'assets/models/gltf/box/normal.png',
42 'assets/models/gltf/domino/domino.gltf',
43 'assets/models/gltf/domino/base.png',
44 'assets/models/gltf/domino/ao_roughness_metal.png',
45 'assets/models/gltf/domino/normal.png']
46 [self
.assertTrue(exists(fname
)) for fname
in files
]
48 #ModelsBuilder().build('assets/models', 1)
49 #self.assertTrue(time() - start < 1.5) # test caching
50 #[self.assertTrue(exists(fname)) for fname in files]