warp-lang 1.0.2__py3-none-manylinux2014_x86_64.whl → 1.2.0__py3-none-manylinux2014_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of warp-lang might be problematic. Click here for more details.
- warp/__init__.py +108 -97
- warp/__init__.pyi +1 -1
- warp/bin/warp-clang.so +0 -0
- warp/bin/warp.so +0 -0
- warp/build.py +88 -113
- warp/build_dll.py +383 -375
- warp/builtins.py +3693 -3354
- warp/codegen.py +2925 -2792
- warp/config.py +40 -36
- warp/constants.py +49 -45
- warp/context.py +5409 -5102
- warp/dlpack.py +442 -442
- warp/examples/__init__.py +16 -16
- warp/examples/assets/bear.usd +0 -0
- warp/examples/assets/bunny.usd +0 -0
- warp/examples/assets/cartpole.urdf +110 -110
- warp/examples/assets/crazyflie.usd +0 -0
- warp/examples/assets/cube.usd +0 -0
- warp/examples/assets/nv_ant.xml +92 -92
- warp/examples/assets/nv_humanoid.xml +183 -183
- warp/examples/assets/quadruped.urdf +267 -267
- warp/examples/assets/rocks.nvdb +0 -0
- warp/examples/assets/rocks.usd +0 -0
- warp/examples/assets/sphere.usd +0 -0
- warp/examples/benchmarks/benchmark_api.py +381 -383
- warp/examples/benchmarks/benchmark_cloth.py +278 -277
- warp/examples/benchmarks/benchmark_cloth_cupy.py +88 -88
- warp/examples/benchmarks/benchmark_cloth_jax.py +97 -100
- warp/examples/benchmarks/benchmark_cloth_numba.py +146 -142
- warp/examples/benchmarks/benchmark_cloth_numpy.py +77 -77
- warp/examples/benchmarks/benchmark_cloth_pytorch.py +86 -86
- warp/examples/benchmarks/benchmark_cloth_taichi.py +112 -112
- warp/examples/benchmarks/benchmark_cloth_warp.py +145 -146
- warp/examples/benchmarks/benchmark_launches.py +293 -295
- warp/examples/browse.py +29 -29
- warp/examples/core/example_dem.py +232 -219
- warp/examples/core/example_fluid.py +291 -267
- warp/examples/core/example_graph_capture.py +142 -126
- warp/examples/core/example_marching_cubes.py +186 -174
- warp/examples/core/example_mesh.py +172 -155
- warp/examples/core/example_mesh_intersect.py +203 -193
- warp/examples/core/example_nvdb.py +174 -170
- warp/examples/core/example_raycast.py +103 -90
- warp/examples/core/example_raymarch.py +197 -178
- warp/examples/core/example_render_opengl.py +183 -141
- warp/examples/core/example_sph.py +403 -387
- warp/examples/core/example_torch.py +219 -181
- warp/examples/core/example_wave.py +261 -248
- warp/examples/fem/bsr_utils.py +378 -380
- warp/examples/fem/example_apic_fluid.py +432 -389
- warp/examples/fem/example_burgers.py +262 -0
- warp/examples/fem/example_convection_diffusion.py +180 -168
- warp/examples/fem/example_convection_diffusion_dg.py +217 -209
- warp/examples/fem/example_deformed_geometry.py +175 -159
- warp/examples/fem/example_diffusion.py +199 -173
- warp/examples/fem/example_diffusion_3d.py +178 -152
- warp/examples/fem/example_diffusion_mgpu.py +219 -214
- warp/examples/fem/example_mixed_elasticity.py +242 -222
- warp/examples/fem/example_navier_stokes.py +257 -243
- warp/examples/fem/example_stokes.py +218 -192
- warp/examples/fem/example_stokes_transfer.py +263 -249
- warp/examples/fem/mesh_utils.py +133 -109
- warp/examples/fem/plot_utils.py +292 -287
- warp/examples/optim/example_bounce.py +258 -246
- warp/examples/optim/example_cloth_throw.py +220 -209
- warp/examples/optim/example_diffray.py +564 -536
- warp/examples/optim/example_drone.py +862 -835
- warp/examples/optim/example_inverse_kinematics.py +174 -168
- warp/examples/optim/example_inverse_kinematics_torch.py +183 -169
- warp/examples/optim/example_spring_cage.py +237 -231
- warp/examples/optim/example_trajectory.py +221 -199
- warp/examples/optim/example_walker.py +304 -293
- warp/examples/sim/example_cartpole.py +137 -129
- warp/examples/sim/example_cloth.py +194 -186
- warp/examples/sim/example_granular.py +122 -111
- warp/examples/sim/example_granular_collision_sdf.py +195 -186
- warp/examples/sim/example_jacobian_ik.py +234 -214
- warp/examples/sim/example_particle_chain.py +116 -105
- warp/examples/sim/example_quadruped.py +191 -180
- warp/examples/sim/example_rigid_chain.py +195 -187
- warp/examples/sim/example_rigid_contact.py +187 -177
- warp/examples/sim/example_rigid_force.py +125 -125
- warp/examples/sim/example_rigid_gyroscopic.py +107 -95
- warp/examples/sim/example_rigid_soft_contact.py +132 -122
- warp/examples/sim/example_soft_body.py +188 -177
- warp/fabric.py +337 -335
- warp/fem/__init__.py +61 -27
- warp/fem/cache.py +403 -388
- warp/fem/dirichlet.py +178 -179
- warp/fem/domain.py +262 -263
- warp/fem/field/__init__.py +100 -101
- warp/fem/field/field.py +148 -149
- warp/fem/field/nodal_field.py +298 -299
- warp/fem/field/restriction.py +22 -21
- warp/fem/field/test.py +180 -181
- warp/fem/field/trial.py +183 -183
- warp/fem/geometry/__init__.py +16 -19
- warp/fem/geometry/closest_point.py +69 -70
- warp/fem/geometry/deformed_geometry.py +270 -271
- warp/fem/geometry/element.py +748 -744
- warp/fem/geometry/geometry.py +184 -186
- warp/fem/geometry/grid_2d.py +380 -373
- warp/fem/geometry/grid_3d.py +437 -435
- warp/fem/geometry/hexmesh.py +953 -953
- warp/fem/geometry/nanogrid.py +455 -0
- warp/fem/geometry/partition.py +374 -376
- warp/fem/geometry/quadmesh_2d.py +532 -532
- warp/fem/geometry/tetmesh.py +840 -840
- warp/fem/geometry/trimesh_2d.py +577 -577
- warp/fem/integrate.py +1684 -1615
- warp/fem/operator.py +190 -191
- warp/fem/polynomial.py +214 -213
- warp/fem/quadrature/__init__.py +2 -2
- warp/fem/quadrature/pic_quadrature.py +243 -245
- warp/fem/quadrature/quadrature.py +295 -294
- warp/fem/space/__init__.py +179 -292
- warp/fem/space/basis_space.py +522 -489
- warp/fem/space/collocated_function_space.py +100 -105
- warp/fem/space/dof_mapper.py +236 -236
- warp/fem/space/function_space.py +148 -145
- warp/fem/space/grid_2d_function_space.py +148 -267
- warp/fem/space/grid_3d_function_space.py +167 -306
- warp/fem/space/hexmesh_function_space.py +253 -352
- warp/fem/space/nanogrid_function_space.py +202 -0
- warp/fem/space/partition.py +350 -350
- warp/fem/space/quadmesh_2d_function_space.py +261 -369
- warp/fem/space/restriction.py +161 -160
- warp/fem/space/shape/__init__.py +90 -15
- warp/fem/space/shape/cube_shape_function.py +728 -738
- warp/fem/space/shape/shape_function.py +102 -103
- warp/fem/space/shape/square_shape_function.py +611 -611
- warp/fem/space/shape/tet_shape_function.py +565 -567
- warp/fem/space/shape/triangle_shape_function.py +429 -429
- warp/fem/space/tetmesh_function_space.py +224 -292
- warp/fem/space/topology.py +297 -295
- warp/fem/space/trimesh_2d_function_space.py +153 -221
- warp/fem/types.py +77 -77
- warp/fem/utils.py +495 -495
- warp/jax.py +166 -141
- warp/jax_experimental.py +341 -339
- warp/native/array.h +1081 -1025
- warp/native/builtin.h +1603 -1560
- warp/native/bvh.cpp +402 -398
- warp/native/bvh.cu +533 -525
- warp/native/bvh.h +430 -429
- warp/native/clang/clang.cpp +496 -464
- warp/native/crt.cpp +42 -32
- warp/native/crt.h +352 -335
- warp/native/cuda_crt.h +1049 -1049
- warp/native/cuda_util.cpp +549 -540
- warp/native/cuda_util.h +288 -203
- warp/native/cutlass_gemm.cpp +34 -34
- warp/native/cutlass_gemm.cu +372 -372
- warp/native/error.cpp +66 -66
- warp/native/error.h +27 -27
- warp/native/exports.h +187 -0
- warp/native/fabric.h +228 -228
- warp/native/hashgrid.cpp +301 -278
- warp/native/hashgrid.cu +78 -77
- warp/native/hashgrid.h +227 -227
- warp/native/initializer_array.h +32 -32
- warp/native/intersect.h +1204 -1204
- warp/native/intersect_adj.h +365 -365
- warp/native/intersect_tri.h +322 -322
- warp/native/marching.cpp +2 -2
- warp/native/marching.cu +497 -497
- warp/native/marching.h +2 -2
- warp/native/mat.h +1545 -1498
- warp/native/matnn.h +333 -333
- warp/native/mesh.cpp +203 -203
- warp/native/mesh.cu +292 -293
- warp/native/mesh.h +1887 -1887
- warp/native/nanovdb/GridHandle.h +366 -0
- warp/native/nanovdb/HostBuffer.h +590 -0
- warp/native/nanovdb/NanoVDB.h +6624 -4782
- warp/native/nanovdb/PNanoVDB.h +3390 -2553
- warp/native/noise.h +850 -850
- warp/native/quat.h +1112 -1085
- warp/native/rand.h +303 -299
- warp/native/range.h +108 -108
- warp/native/reduce.cpp +156 -156
- warp/native/reduce.cu +348 -348
- warp/native/runlength_encode.cpp +61 -61
- warp/native/runlength_encode.cu +46 -46
- warp/native/scan.cpp +30 -30
- warp/native/scan.cu +36 -36
- warp/native/scan.h +7 -7
- warp/native/solid_angle.h +442 -442
- warp/native/sort.cpp +94 -94
- warp/native/sort.cu +97 -97
- warp/native/sort.h +14 -14
- warp/native/sparse.cpp +337 -337
- warp/native/sparse.cu +544 -544
- warp/native/spatial.h +630 -630
- warp/native/svd.h +562 -562
- warp/native/temp_buffer.h +30 -30
- warp/native/vec.h +1177 -1133
- warp/native/volume.cpp +529 -297
- warp/native/volume.cu +58 -32
- warp/native/volume.h +960 -538
- warp/native/volume_builder.cu +446 -425
- warp/native/volume_builder.h +34 -19
- warp/native/volume_impl.h +61 -0
- warp/native/warp.cpp +1057 -1052
- warp/native/warp.cu +2949 -2828
- warp/native/warp.h +321 -305
- warp/optim/__init__.py +9 -9
- warp/optim/adam.py +120 -120
- warp/optim/linear.py +1104 -939
- warp/optim/sgd.py +104 -92
- warp/render/__init__.py +10 -10
- warp/render/render_opengl.py +3356 -3204
- warp/render/render_usd.py +768 -749
- warp/render/utils.py +152 -150
- warp/sim/__init__.py +52 -59
- warp/sim/articulation.py +685 -685
- warp/sim/collide.py +1594 -1590
- warp/sim/import_mjcf.py +489 -481
- warp/sim/import_snu.py +220 -221
- warp/sim/import_urdf.py +536 -516
- warp/sim/import_usd.py +887 -881
- warp/sim/inertia.py +316 -317
- warp/sim/integrator.py +234 -233
- warp/sim/integrator_euler.py +1956 -1956
- warp/sim/integrator_featherstone.py +1917 -1991
- warp/sim/integrator_xpbd.py +3288 -3312
- warp/sim/model.py +4473 -4314
- warp/sim/particles.py +113 -112
- warp/sim/render.py +417 -403
- warp/sim/utils.py +413 -410
- warp/sparse.py +1289 -1227
- warp/stubs.py +2192 -2469
- warp/tape.py +1162 -225
- warp/tests/__init__.py +1 -1
- warp/tests/__main__.py +4 -4
- warp/tests/assets/test_index_grid.nvdb +0 -0
- warp/tests/assets/torus.usda +105 -105
- warp/tests/aux_test_class_kernel.py +26 -26
- warp/tests/aux_test_compile_consts_dummy.py +10 -10
- warp/tests/aux_test_conditional_unequal_types_kernels.py +21 -21
- warp/tests/aux_test_dependent.py +20 -22
- warp/tests/aux_test_grad_customs.py +21 -23
- warp/tests/aux_test_reference.py +9 -11
- warp/tests/aux_test_reference_reference.py +8 -10
- warp/tests/aux_test_square.py +15 -17
- warp/tests/aux_test_unresolved_func.py +14 -14
- warp/tests/aux_test_unresolved_symbol.py +14 -14
- warp/tests/disabled_kinematics.py +237 -239
- warp/tests/run_coverage_serial.py +31 -31
- warp/tests/test_adam.py +155 -157
- warp/tests/test_arithmetic.py +1088 -1124
- warp/tests/test_array.py +2415 -2326
- warp/tests/test_array_reduce.py +148 -150
- warp/tests/test_async.py +666 -656
- warp/tests/test_atomic.py +139 -141
- warp/tests/test_bool.py +212 -149
- warp/tests/test_builtins_resolution.py +1290 -1292
- warp/tests/test_bvh.py +162 -171
- warp/tests/test_closest_point_edge_edge.py +227 -228
- warp/tests/test_codegen.py +562 -553
- warp/tests/test_compile_consts.py +217 -101
- warp/tests/test_conditional.py +244 -246
- warp/tests/test_copy.py +230 -215
- warp/tests/test_ctypes.py +630 -632
- warp/tests/test_dense.py +65 -67
- warp/tests/test_devices.py +89 -98
- warp/tests/test_dlpack.py +528 -529
- warp/tests/test_examples.py +403 -378
- warp/tests/test_fabricarray.py +952 -955
- warp/tests/test_fast_math.py +60 -54
- warp/tests/test_fem.py +1298 -1278
- warp/tests/test_fp16.py +128 -130
- warp/tests/test_func.py +336 -337
- warp/tests/test_generics.py +596 -571
- warp/tests/test_grad.py +885 -640
- warp/tests/test_grad_customs.py +331 -336
- warp/tests/test_hash_grid.py +208 -164
- warp/tests/test_import.py +37 -39
- warp/tests/test_indexedarray.py +1132 -1134
- warp/tests/test_intersect.py +65 -67
- warp/tests/test_jax.py +305 -307
- warp/tests/test_large.py +169 -164
- warp/tests/test_launch.py +352 -354
- warp/tests/test_lerp.py +217 -261
- warp/tests/test_linear_solvers.py +189 -171
- warp/tests/test_lvalue.py +419 -493
- warp/tests/test_marching_cubes.py +63 -65
- warp/tests/test_mat.py +1799 -1827
- warp/tests/test_mat_lite.py +113 -115
- warp/tests/test_mat_scalar_ops.py +2905 -2889
- warp/tests/test_math.py +124 -193
- warp/tests/test_matmul.py +498 -499
- warp/tests/test_matmul_lite.py +408 -410
- warp/tests/test_mempool.py +186 -190
- warp/tests/test_mesh.py +281 -324
- warp/tests/test_mesh_query_aabb.py +226 -241
- warp/tests/test_mesh_query_point.py +690 -702
- warp/tests/test_mesh_query_ray.py +290 -303
- warp/tests/test_mlp.py +274 -276
- warp/tests/test_model.py +108 -110
- warp/tests/test_module_hashing.py +111 -0
- warp/tests/test_modules_lite.py +36 -39
- warp/tests/test_multigpu.py +161 -163
- warp/tests/test_noise.py +244 -248
- warp/tests/test_operators.py +248 -250
- warp/tests/test_options.py +121 -125
- warp/tests/test_peer.py +131 -137
- warp/tests/test_pinned.py +76 -78
- warp/tests/test_print.py +52 -54
- warp/tests/test_quat.py +2084 -2086
- warp/tests/test_rand.py +324 -288
- warp/tests/test_reload.py +207 -217
- warp/tests/test_rounding.py +177 -179
- warp/tests/test_runlength_encode.py +188 -190
- warp/tests/test_sim_grad.py +241 -0
- warp/tests/test_sim_kinematics.py +89 -97
- warp/tests/test_smoothstep.py +166 -168
- warp/tests/test_snippet.py +303 -266
- warp/tests/test_sparse.py +466 -460
- warp/tests/test_spatial.py +2146 -2148
- warp/tests/test_special_values.py +362 -0
- warp/tests/test_streams.py +484 -473
- warp/tests/test_struct.py +708 -675
- warp/tests/test_tape.py +171 -148
- warp/tests/test_torch.py +741 -743
- warp/tests/test_transient_module.py +85 -87
- warp/tests/test_types.py +554 -659
- warp/tests/test_utils.py +488 -499
- warp/tests/test_vec.py +1262 -1268
- warp/tests/test_vec_lite.py +71 -73
- warp/tests/test_vec_scalar_ops.py +2097 -2099
- warp/tests/test_verify_fp.py +92 -94
- warp/tests/test_volume.py +961 -736
- warp/tests/test_volume_write.py +338 -265
- warp/tests/unittest_serial.py +38 -37
- warp/tests/unittest_suites.py +367 -359
- warp/tests/unittest_utils.py +434 -578
- warp/tests/unused_test_misc.py +69 -71
- warp/tests/walkthrough_debug.py +85 -85
- warp/thirdparty/appdirs.py +598 -598
- warp/thirdparty/dlpack.py +143 -143
- warp/thirdparty/unittest_parallel.py +563 -561
- warp/torch.py +321 -295
- warp/types.py +4941 -4450
- warp/utils.py +1008 -821
- {warp_lang-1.0.2.dist-info → warp_lang-1.2.0.dist-info}/LICENSE.md +126 -126
- {warp_lang-1.0.2.dist-info → warp_lang-1.2.0.dist-info}/METADATA +365 -400
- warp_lang-1.2.0.dist-info/RECORD +359 -0
- warp/examples/assets/cube.usda +0 -42
- warp/examples/assets/sphere.usda +0 -56
- warp/examples/assets/torus.usda +0 -105
- warp/examples/fem/example_convection_diffusion_dg0.py +0 -194
- warp/native/nanovdb/PNanoVDBWrite.h +0 -295
- warp_lang-1.0.2.dist-info/RECORD +0 -352
- {warp_lang-1.0.2.dist-info → warp_lang-1.2.0.dist-info}/WHEEL +0 -0
- {warp_lang-1.0.2.dist-info → warp_lang-1.2.0.dist-info}/top_level.txt +0 -0
warp/tests/unittest_suites.py
CHANGED
|
@@ -1,359 +1,367 @@
|
|
|
1
|
-
# Copyright (c) 2023 NVIDIA CORPORATION. All rights reserved.
|
|
2
|
-
# NVIDIA CORPORATION and its licensors retain all intellectual property
|
|
3
|
-
# and proprietary rights in and to this software, related documentation
|
|
4
|
-
# and any modifications thereto. Any use, reproduction, disclosure or
|
|
5
|
-
# distribution of this software and related documentation without an express
|
|
6
|
-
# license agreement from NVIDIA CORPORATION is strictly prohibited.
|
|
7
|
-
|
|
8
|
-
"""Warp Test Suites
|
|
9
|
-
|
|
10
|
-
This file is intended to define functions that return TestSuite objects, which
|
|
11
|
-
can be used in parallel or serial unit tests (with optional code coverage)
|
|
12
|
-
"""
|
|
13
|
-
|
|
14
|
-
import os
|
|
15
|
-
import sys
|
|
16
|
-
import unittest
|
|
17
|
-
|
|
18
|
-
START_DIRECTORY = os.path.realpath(os.path.dirname(__file__))
|
|
19
|
-
TOP_LEVEL_DIRECTORY = os.path.realpath(os.path.join(START_DIRECTORY, "..", ".."))
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def _create_suite_from_test_classes(test_loader, test_classes):
|
|
23
|
-
suite = unittest.TestSuite()
|
|
24
|
-
|
|
25
|
-
for test in test_classes:
|
|
26
|
-
sub_suite = unittest.TestSuite()
|
|
27
|
-
# Note that the test_loader might have testNamePatterns set
|
|
28
|
-
sub_suite.addTest(test_loader.loadTestsFromTestCase(test))
|
|
29
|
-
suite.addTest(sub_suite)
|
|
30
|
-
|
|
31
|
-
return suite
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def auto_discover_suite(loader=unittest.defaultTestLoader, pattern="test*.py"):
|
|
35
|
-
"""Uses unittest auto-discovery to build a test suite (test_*.py pattern)"""
|
|
36
|
-
|
|
37
|
-
return loader.discover(start_dir=START_DIRECTORY, pattern=pattern, top_level_dir=TOP_LEVEL_DIRECTORY)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
def _iter_class_suites(test_suite):
|
|
41
|
-
"""Iterate class-level test suites - test suites that contains test cases
|
|
42
|
-
|
|
43
|
-
From unittest_parallel.py
|
|
44
|
-
"""
|
|
45
|
-
has_cases = any(isinstance(suite, unittest.TestCase) for suite in test_suite)
|
|
46
|
-
if has_cases:
|
|
47
|
-
yield test_suite
|
|
48
|
-
else:
|
|
49
|
-
for suite in test_suite:
|
|
50
|
-
yield from _iter_class_suites(suite)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
def compare_unittest_suites(
|
|
54
|
-
test_loader: unittest.TestLoader, test_suite_name: str, reference_suite: unittest.TestSuite
|
|
55
|
-
) -> None:
|
|
56
|
-
"""Prints the tests in `test_suite` that are not in `reference_suite`."""
|
|
57
|
-
|
|
58
|
-
test_suite_fn = getattr(sys.modules[__name__], test_suite_name + "_suite")
|
|
59
|
-
|
|
60
|
-
test_suite = test_suite_fn(test_loader)
|
|
61
|
-
|
|
62
|
-
test_suite_classes_str =
|
|
63
|
-
type(test_suite._tests[0]).__name__
|
|
64
|
-
for test_suite in list(_iter_class_suites(test_suite))
|
|
65
|
-
if test_suite.countTestCases() > 0
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
reference_suite_classes_str =
|
|
69
|
-
type(test_suite._tests[0]).__name__
|
|
70
|
-
for test_suite in list(_iter_class_suites(reference_suite))
|
|
71
|
-
if test_suite.countTestCases() > 0
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
set_difference = reference_suite_classes_str - test_suite_classes_str
|
|
75
|
-
|
|
76
|
-
print(f"Selected test suite '{test_suite_name}'")
|
|
77
|
-
if len(set_difference) > 0:
|
|
78
|
-
print(f"Test suite '{test_suite_name}' omits the following test classes:")
|
|
79
|
-
for test_entry in set_difference:
|
|
80
|
-
print(f" {test_entry}")
|
|
81
|
-
|
|
82
|
-
return test_suite
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
def default_suite(test_loader: unittest.TestLoader):
|
|
86
|
-
"""Example of a manually constructed test suite.
|
|
87
|
-
|
|
88
|
-
Intended to be modified to create additional test suites
|
|
89
|
-
"""
|
|
90
|
-
from warp.tests.test_adam import TestAdam
|
|
91
|
-
from warp.tests.test_arithmetic import TestArithmetic
|
|
92
|
-
from warp.tests.test_array import TestArray
|
|
93
|
-
from warp.tests.test_array_reduce import TestArrayReduce
|
|
94
|
-
from warp.tests.test_async import TestAsync
|
|
95
|
-
from warp.tests.test_atomic import TestAtomic
|
|
96
|
-
from warp.tests.test_bool import TestBool
|
|
97
|
-
from warp.tests.test_builtins_resolution import TestBuiltinsResolution
|
|
98
|
-
from warp.tests.test_bvh import TestBvh
|
|
99
|
-
from warp.tests.test_closest_point_edge_edge import TestClosestPointEdgeEdgeMethods
|
|
100
|
-
from warp.tests.test_codegen import TestCodeGen
|
|
101
|
-
from warp.tests.test_compile_consts import TestConstants
|
|
102
|
-
from warp.tests.test_conditional import TestConditional
|
|
103
|
-
from warp.tests.test_copy import TestCopy
|
|
104
|
-
from warp.tests.test_ctypes import TestCTypes
|
|
105
|
-
from warp.tests.test_dense import TestDense
|
|
106
|
-
from warp.tests.test_devices import TestDevices
|
|
107
|
-
from warp.tests.test_dlpack import TestDLPack
|
|
108
|
-
from warp.tests.test_examples import (
|
|
109
|
-
|
|
110
|
-
TestFemDiffusionExamples,
|
|
111
|
-
TestFemExamples,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
from warp.tests.
|
|
116
|
-
from warp.tests.
|
|
117
|
-
from warp.tests.
|
|
118
|
-
from warp.tests.
|
|
119
|
-
from warp.tests.
|
|
120
|
-
from warp.tests.
|
|
121
|
-
from warp.tests.
|
|
122
|
-
from warp.tests.
|
|
123
|
-
from warp.tests.
|
|
124
|
-
from warp.tests.
|
|
125
|
-
from warp.tests.
|
|
126
|
-
from warp.tests.
|
|
127
|
-
from warp.tests.
|
|
128
|
-
from warp.tests.
|
|
129
|
-
from warp.tests.
|
|
130
|
-
from warp.tests.
|
|
131
|
-
from warp.tests.
|
|
132
|
-
from warp.tests.
|
|
133
|
-
from warp.tests.
|
|
134
|
-
from warp.tests.
|
|
135
|
-
from warp.tests.
|
|
136
|
-
from warp.tests.
|
|
137
|
-
from warp.tests.
|
|
138
|
-
from warp.tests.
|
|
139
|
-
from warp.tests.
|
|
140
|
-
from warp.tests.
|
|
141
|
-
from warp.tests.
|
|
142
|
-
from warp.tests.
|
|
143
|
-
from warp.tests.
|
|
144
|
-
from warp.tests.
|
|
145
|
-
from warp.tests.
|
|
146
|
-
from warp.tests.
|
|
147
|
-
from warp.tests.
|
|
148
|
-
from warp.tests.
|
|
149
|
-
from warp.tests.
|
|
150
|
-
from warp.tests.
|
|
151
|
-
from warp.tests.
|
|
152
|
-
from warp.tests.
|
|
153
|
-
from warp.tests.
|
|
154
|
-
from warp.tests.
|
|
155
|
-
from warp.tests.
|
|
156
|
-
from warp.tests.
|
|
157
|
-
from warp.tests.
|
|
158
|
-
from warp.tests.
|
|
159
|
-
from warp.tests.
|
|
160
|
-
from warp.tests.
|
|
161
|
-
from warp.tests.
|
|
162
|
-
from warp.tests.
|
|
163
|
-
from warp.tests.
|
|
164
|
-
from warp.tests.
|
|
165
|
-
from warp.tests.
|
|
166
|
-
from warp.tests.
|
|
167
|
-
from warp.tests.
|
|
168
|
-
from warp.tests.
|
|
169
|
-
from warp.tests.
|
|
170
|
-
from warp.tests.
|
|
171
|
-
from warp.tests.
|
|
172
|
-
from warp.tests.
|
|
173
|
-
from warp.tests.
|
|
174
|
-
from warp.tests.
|
|
175
|
-
from warp.tests.
|
|
176
|
-
from warp.tests.
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
from warp.tests.
|
|
282
|
-
from warp.tests.
|
|
283
|
-
from warp.tests.
|
|
284
|
-
from warp.tests.
|
|
285
|
-
from warp.tests.
|
|
286
|
-
from warp.tests.
|
|
287
|
-
from warp.tests.
|
|
288
|
-
from warp.tests.
|
|
289
|
-
from warp.tests.
|
|
290
|
-
from warp.tests.
|
|
291
|
-
from warp.tests.
|
|
292
|
-
from warp.tests.
|
|
293
|
-
from warp.tests.
|
|
294
|
-
from warp.tests.
|
|
295
|
-
from warp.tests.
|
|
296
|
-
from warp.tests.
|
|
297
|
-
from warp.tests.
|
|
298
|
-
from warp.tests.
|
|
299
|
-
from warp.tests.
|
|
300
|
-
from warp.tests.
|
|
301
|
-
from warp.tests.
|
|
302
|
-
from warp.tests.
|
|
303
|
-
from warp.tests.
|
|
304
|
-
from warp.tests.
|
|
305
|
-
from warp.tests.
|
|
306
|
-
from warp.tests.
|
|
307
|
-
from warp.tests.
|
|
308
|
-
from warp.tests.
|
|
309
|
-
from warp.tests.
|
|
310
|
-
from warp.tests.
|
|
311
|
-
from warp.tests.
|
|
312
|
-
from warp.tests.
|
|
313
|
-
from warp.tests.
|
|
314
|
-
from warp.tests.
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
1
|
+
# Copyright (c) 2023 NVIDIA CORPORATION. All rights reserved.
|
|
2
|
+
# NVIDIA CORPORATION and its licensors retain all intellectual property
|
|
3
|
+
# and proprietary rights in and to this software, related documentation
|
|
4
|
+
# and any modifications thereto. Any use, reproduction, disclosure or
|
|
5
|
+
# distribution of this software and related documentation without an express
|
|
6
|
+
# license agreement from NVIDIA CORPORATION is strictly prohibited.
|
|
7
|
+
|
|
8
|
+
"""Warp Test Suites
|
|
9
|
+
|
|
10
|
+
This file is intended to define functions that return TestSuite objects, which
|
|
11
|
+
can be used in parallel or serial unit tests (with optional code coverage)
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
import os
|
|
15
|
+
import sys
|
|
16
|
+
import unittest
|
|
17
|
+
|
|
18
|
+
START_DIRECTORY = os.path.realpath(os.path.dirname(__file__))
|
|
19
|
+
TOP_LEVEL_DIRECTORY = os.path.realpath(os.path.join(START_DIRECTORY, "..", ".."))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _create_suite_from_test_classes(test_loader, test_classes):
|
|
23
|
+
suite = unittest.TestSuite()
|
|
24
|
+
|
|
25
|
+
for test in test_classes:
|
|
26
|
+
sub_suite = unittest.TestSuite()
|
|
27
|
+
# Note that the test_loader might have testNamePatterns set
|
|
28
|
+
sub_suite.addTest(test_loader.loadTestsFromTestCase(test))
|
|
29
|
+
suite.addTest(sub_suite)
|
|
30
|
+
|
|
31
|
+
return suite
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def auto_discover_suite(loader=unittest.defaultTestLoader, pattern="test*.py"):
|
|
35
|
+
"""Uses unittest auto-discovery to build a test suite (test_*.py pattern)"""
|
|
36
|
+
|
|
37
|
+
return loader.discover(start_dir=START_DIRECTORY, pattern=pattern, top_level_dir=TOP_LEVEL_DIRECTORY)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def _iter_class_suites(test_suite):
|
|
41
|
+
"""Iterate class-level test suites - test suites that contains test cases
|
|
42
|
+
|
|
43
|
+
From unittest_parallel.py
|
|
44
|
+
"""
|
|
45
|
+
has_cases = any(isinstance(suite, unittest.TestCase) for suite in test_suite)
|
|
46
|
+
if has_cases:
|
|
47
|
+
yield test_suite
|
|
48
|
+
else:
|
|
49
|
+
for suite in test_suite:
|
|
50
|
+
yield from _iter_class_suites(suite)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def compare_unittest_suites(
|
|
54
|
+
test_loader: unittest.TestLoader, test_suite_name: str, reference_suite: unittest.TestSuite
|
|
55
|
+
) -> None:
|
|
56
|
+
"""Prints the tests in `test_suite` that are not in `reference_suite`."""
|
|
57
|
+
|
|
58
|
+
test_suite_fn = getattr(sys.modules[__name__], test_suite_name + "_suite")
|
|
59
|
+
|
|
60
|
+
test_suite = test_suite_fn(test_loader)
|
|
61
|
+
|
|
62
|
+
test_suite_classes_str = {
|
|
63
|
+
type(test_suite._tests[0]).__name__
|
|
64
|
+
for test_suite in list(_iter_class_suites(test_suite))
|
|
65
|
+
if test_suite.countTestCases() > 0
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
reference_suite_classes_str = {
|
|
69
|
+
type(test_suite._tests[0]).__name__
|
|
70
|
+
for test_suite in list(_iter_class_suites(reference_suite))
|
|
71
|
+
if test_suite.countTestCases() > 0
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
set_difference = reference_suite_classes_str - test_suite_classes_str
|
|
75
|
+
|
|
76
|
+
print(f"Selected test suite '{test_suite_name}'")
|
|
77
|
+
if len(set_difference) > 0:
|
|
78
|
+
print(f"Test suite '{test_suite_name}' omits the following test classes:")
|
|
79
|
+
for test_entry in set_difference:
|
|
80
|
+
print(f" {test_entry}")
|
|
81
|
+
|
|
82
|
+
return test_suite
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def default_suite(test_loader: unittest.TestLoader = unittest.defaultTestLoader):
|
|
86
|
+
"""Example of a manually constructed test suite.
|
|
87
|
+
|
|
88
|
+
Intended to be modified to create additional test suites
|
|
89
|
+
"""
|
|
90
|
+
from warp.tests.test_adam import TestAdam
|
|
91
|
+
from warp.tests.test_arithmetic import TestArithmetic
|
|
92
|
+
from warp.tests.test_array import TestArray
|
|
93
|
+
from warp.tests.test_array_reduce import TestArrayReduce
|
|
94
|
+
from warp.tests.test_async import TestAsync
|
|
95
|
+
from warp.tests.test_atomic import TestAtomic
|
|
96
|
+
from warp.tests.test_bool import TestBool
|
|
97
|
+
from warp.tests.test_builtins_resolution import TestBuiltinsResolution
|
|
98
|
+
from warp.tests.test_bvh import TestBvh
|
|
99
|
+
from warp.tests.test_closest_point_edge_edge import TestClosestPointEdgeEdgeMethods
|
|
100
|
+
from warp.tests.test_codegen import TestCodeGen
|
|
101
|
+
from warp.tests.test_compile_consts import TestConstants
|
|
102
|
+
from warp.tests.test_conditional import TestConditional
|
|
103
|
+
from warp.tests.test_copy import TestCopy
|
|
104
|
+
from warp.tests.test_ctypes import TestCTypes
|
|
105
|
+
from warp.tests.test_dense import TestDense
|
|
106
|
+
from warp.tests.test_devices import TestDevices
|
|
107
|
+
from warp.tests.test_dlpack import TestDLPack
|
|
108
|
+
from warp.tests.test_examples import (
|
|
109
|
+
TestCoreExamples,
|
|
110
|
+
TestFemDiffusionExamples,
|
|
111
|
+
TestFemExamples,
|
|
112
|
+
TestOptimExamples,
|
|
113
|
+
TestSimExamples,
|
|
114
|
+
)
|
|
115
|
+
from warp.tests.test_fabricarray import TestFabricArray
|
|
116
|
+
from warp.tests.test_fast_math import TestFastMath
|
|
117
|
+
from warp.tests.test_fem import TestFem, TestFemShapeFunctions
|
|
118
|
+
from warp.tests.test_fp16 import TestFp16
|
|
119
|
+
from warp.tests.test_func import TestFunc
|
|
120
|
+
from warp.tests.test_generics import TestGenerics
|
|
121
|
+
from warp.tests.test_grad import TestGrad
|
|
122
|
+
from warp.tests.test_grad_customs import TestGradCustoms
|
|
123
|
+
from warp.tests.test_hash_grid import TestHashGrid
|
|
124
|
+
from warp.tests.test_import import TestImport
|
|
125
|
+
from warp.tests.test_indexedarray import TestIndexedArray
|
|
126
|
+
from warp.tests.test_intersect import TestIntersect
|
|
127
|
+
from warp.tests.test_jax import TestJax
|
|
128
|
+
from warp.tests.test_large import TestLarge
|
|
129
|
+
from warp.tests.test_launch import TestLaunch
|
|
130
|
+
from warp.tests.test_lerp import TestLerp
|
|
131
|
+
from warp.tests.test_linear_solvers import TestLinearSolvers
|
|
132
|
+
from warp.tests.test_lvalue import TestLValue
|
|
133
|
+
from warp.tests.test_marching_cubes import TestMarchingCubes
|
|
134
|
+
from warp.tests.test_mat import TestMat
|
|
135
|
+
from warp.tests.test_mat_lite import TestMatLite
|
|
136
|
+
from warp.tests.test_mat_scalar_ops import TestMatScalarOps
|
|
137
|
+
from warp.tests.test_math import TestMath
|
|
138
|
+
from warp.tests.test_matmul import TestMatmul
|
|
139
|
+
from warp.tests.test_matmul_lite import TestMatmulLite
|
|
140
|
+
from warp.tests.test_mempool import TestMempool
|
|
141
|
+
from warp.tests.test_mesh import TestMesh
|
|
142
|
+
from warp.tests.test_mesh_query_aabb import TestMeshQueryAABBMethods
|
|
143
|
+
from warp.tests.test_mesh_query_point import TestMeshQueryPoint
|
|
144
|
+
from warp.tests.test_mesh_query_ray import TestMeshQueryRay
|
|
145
|
+
from warp.tests.test_mlp import TestMLP
|
|
146
|
+
from warp.tests.test_model import TestModel
|
|
147
|
+
from warp.tests.test_module_hashing import TestModuleHashing
|
|
148
|
+
from warp.tests.test_modules_lite import TestModuleLite
|
|
149
|
+
from warp.tests.test_multigpu import TestMultiGPU
|
|
150
|
+
from warp.tests.test_noise import TestNoise
|
|
151
|
+
from warp.tests.test_operators import TestOperators
|
|
152
|
+
from warp.tests.test_options import TestOptions
|
|
153
|
+
from warp.tests.test_peer import TestPeer
|
|
154
|
+
from warp.tests.test_pinned import TestPinned
|
|
155
|
+
from warp.tests.test_print import TestPrint
|
|
156
|
+
from warp.tests.test_quat import TestQuat
|
|
157
|
+
from warp.tests.test_rand import TestRand
|
|
158
|
+
from warp.tests.test_reload import TestReload
|
|
159
|
+
from warp.tests.test_rounding import TestRounding
|
|
160
|
+
from warp.tests.test_runlength_encode import TestRunlengthEncode
|
|
161
|
+
from warp.tests.test_sim_grad import TestSimGradients
|
|
162
|
+
from warp.tests.test_sim_kinematics import TestSimKinematics
|
|
163
|
+
from warp.tests.test_smoothstep import TestSmoothstep
|
|
164
|
+
from warp.tests.test_snippet import TestSnippets
|
|
165
|
+
from warp.tests.test_sparse import TestSparse
|
|
166
|
+
from warp.tests.test_spatial import TestSpatial
|
|
167
|
+
from warp.tests.test_streams import TestStreams
|
|
168
|
+
from warp.tests.test_struct import TestStruct
|
|
169
|
+
from warp.tests.test_tape import TestTape
|
|
170
|
+
from warp.tests.test_torch import TestTorch
|
|
171
|
+
from warp.tests.test_transient_module import TestTransientModule
|
|
172
|
+
from warp.tests.test_types import TestTypes
|
|
173
|
+
from warp.tests.test_utils import TestUtils
|
|
174
|
+
from warp.tests.test_vec import TestVec
|
|
175
|
+
from warp.tests.test_vec_lite import TestVecLite
|
|
176
|
+
from warp.tests.test_vec_scalar_ops import TestVecScalarOps
|
|
177
|
+
from warp.tests.test_verify_fp import TestVerifyFP
|
|
178
|
+
from warp.tests.test_volume import TestVolume
|
|
179
|
+
from warp.tests.test_volume_write import TestVolumeWrite
|
|
180
|
+
|
|
181
|
+
test_classes = [
|
|
182
|
+
TestAdam,
|
|
183
|
+
TestArithmetic,
|
|
184
|
+
TestArray,
|
|
185
|
+
TestArrayReduce,
|
|
186
|
+
TestAsync,
|
|
187
|
+
TestAtomic,
|
|
188
|
+
TestBool,
|
|
189
|
+
TestBuiltinsResolution,
|
|
190
|
+
TestBvh,
|
|
191
|
+
TestClosestPointEdgeEdgeMethods,
|
|
192
|
+
TestCodeGen,
|
|
193
|
+
TestConstants,
|
|
194
|
+
TestConditional,
|
|
195
|
+
TestCopy,
|
|
196
|
+
TestCTypes,
|
|
197
|
+
TestDense,
|
|
198
|
+
TestDevices,
|
|
199
|
+
TestDLPack,
|
|
200
|
+
TestCoreExamples,
|
|
201
|
+
TestFemDiffusionExamples,
|
|
202
|
+
TestFemExamples,
|
|
203
|
+
TestOptimExamples,
|
|
204
|
+
TestSimExamples,
|
|
205
|
+
TestFabricArray,
|
|
206
|
+
TestFastMath,
|
|
207
|
+
TestFem,
|
|
208
|
+
TestFemShapeFunctions,
|
|
209
|
+
TestFp16,
|
|
210
|
+
TestFunc,
|
|
211
|
+
TestGenerics,
|
|
212
|
+
TestGrad,
|
|
213
|
+
TestGradCustoms,
|
|
214
|
+
TestHashGrid,
|
|
215
|
+
TestImport,
|
|
216
|
+
TestIndexedArray,
|
|
217
|
+
TestIntersect,
|
|
218
|
+
TestJax,
|
|
219
|
+
TestLarge,
|
|
220
|
+
TestLaunch,
|
|
221
|
+
TestLerp,
|
|
222
|
+
TestLinearSolvers,
|
|
223
|
+
TestLValue,
|
|
224
|
+
TestMarchingCubes,
|
|
225
|
+
TestMat,
|
|
226
|
+
TestMatLite,
|
|
227
|
+
TestMatScalarOps,
|
|
228
|
+
TestMath,
|
|
229
|
+
TestMatmul,
|
|
230
|
+
TestMatmulLite,
|
|
231
|
+
TestMempool,
|
|
232
|
+
TestMesh,
|
|
233
|
+
TestMeshQueryAABBMethods,
|
|
234
|
+
TestMeshQueryPoint,
|
|
235
|
+
TestMeshQueryRay,
|
|
236
|
+
TestMLP,
|
|
237
|
+
TestModel,
|
|
238
|
+
TestModuleHashing,
|
|
239
|
+
TestModuleLite,
|
|
240
|
+
TestMultiGPU,
|
|
241
|
+
TestNoise,
|
|
242
|
+
TestOperators,
|
|
243
|
+
TestOptions,
|
|
244
|
+
TestPeer,
|
|
245
|
+
TestPinned,
|
|
246
|
+
TestPrint,
|
|
247
|
+
TestQuat,
|
|
248
|
+
TestRand,
|
|
249
|
+
TestReload,
|
|
250
|
+
TestRounding,
|
|
251
|
+
TestRunlengthEncode,
|
|
252
|
+
TestSimGradients,
|
|
253
|
+
TestSimKinematics,
|
|
254
|
+
TestSmoothstep,
|
|
255
|
+
TestSparse,
|
|
256
|
+
TestSnippets,
|
|
257
|
+
TestSpatial,
|
|
258
|
+
TestStreams,
|
|
259
|
+
TestStruct,
|
|
260
|
+
TestTape,
|
|
261
|
+
TestTorch,
|
|
262
|
+
TestTransientModule,
|
|
263
|
+
TestTypes,
|
|
264
|
+
TestUtils,
|
|
265
|
+
TestVec,
|
|
266
|
+
TestVecLite,
|
|
267
|
+
TestVecScalarOps,
|
|
268
|
+
TestVerifyFP,
|
|
269
|
+
TestVolume,
|
|
270
|
+
TestVolumeWrite,
|
|
271
|
+
]
|
|
272
|
+
|
|
273
|
+
return _create_suite_from_test_classes(test_loader, test_classes)
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
def kit_suite(test_loader: unittest.TestLoader = unittest.defaultTestLoader):
|
|
277
|
+
"""Tries to mimic the test suite used for testing omni.warp.core in Kit
|
|
278
|
+
|
|
279
|
+
Requires manual updates with test_ext.py for now.
|
|
280
|
+
"""
|
|
281
|
+
from warp.tests.test_array import TestArray
|
|
282
|
+
from warp.tests.test_array_reduce import TestArrayReduce
|
|
283
|
+
from warp.tests.test_bvh import TestBvh
|
|
284
|
+
from warp.tests.test_codegen import TestCodeGen
|
|
285
|
+
from warp.tests.test_compile_consts import TestConstants
|
|
286
|
+
from warp.tests.test_conditional import TestConditional
|
|
287
|
+
from warp.tests.test_ctypes import TestCTypes
|
|
288
|
+
from warp.tests.test_devices import TestDevices
|
|
289
|
+
from warp.tests.test_dlpack import TestDLPack
|
|
290
|
+
from warp.tests.test_fabricarray import TestFabricArray
|
|
291
|
+
from warp.tests.test_func import TestFunc
|
|
292
|
+
from warp.tests.test_generics import TestGenerics
|
|
293
|
+
from warp.tests.test_grad_customs import TestGradCustoms
|
|
294
|
+
from warp.tests.test_hash_grid import TestHashGrid
|
|
295
|
+
from warp.tests.test_indexedarray import TestIndexedArray
|
|
296
|
+
from warp.tests.test_launch import TestLaunch
|
|
297
|
+
from warp.tests.test_marching_cubes import TestMarchingCubes
|
|
298
|
+
from warp.tests.test_mat_lite import TestMatLite
|
|
299
|
+
from warp.tests.test_math import TestMath
|
|
300
|
+
from warp.tests.test_matmul_lite import TestMatmulLite
|
|
301
|
+
from warp.tests.test_mesh import TestMesh
|
|
302
|
+
from warp.tests.test_mesh_query_aabb import TestMeshQueryAABBMethods
|
|
303
|
+
from warp.tests.test_mesh_query_point import TestMeshQueryPoint
|
|
304
|
+
from warp.tests.test_mesh_query_ray import TestMeshQueryRay
|
|
305
|
+
from warp.tests.test_module_hashing import TestModuleHashing
|
|
306
|
+
from warp.tests.test_modules_lite import TestModuleLite
|
|
307
|
+
from warp.tests.test_noise import TestNoise
|
|
308
|
+
from warp.tests.test_operators import TestOperators
|
|
309
|
+
from warp.tests.test_quat import TestQuat
|
|
310
|
+
from warp.tests.test_rand import TestRand
|
|
311
|
+
from warp.tests.test_rounding import TestRounding
|
|
312
|
+
from warp.tests.test_runlength_encode import TestRunlengthEncode
|
|
313
|
+
from warp.tests.test_sparse import TestSparse
|
|
314
|
+
from warp.tests.test_streams import TestStreams
|
|
315
|
+
from warp.tests.test_tape import TestTape
|
|
316
|
+
from warp.tests.test_transient_module import TestTransientModule
|
|
317
|
+
from warp.tests.test_types import TestTypes
|
|
318
|
+
from warp.tests.test_utils import TestUtils
|
|
319
|
+
from warp.tests.test_vec_lite import TestVecLite
|
|
320
|
+
from warp.tests.test_volume import TestVolume
|
|
321
|
+
from warp.tests.test_volume_write import TestVolumeWrite
|
|
322
|
+
|
|
323
|
+
test_classes = [
|
|
324
|
+
TestArray,
|
|
325
|
+
TestArrayReduce,
|
|
326
|
+
TestBvh,
|
|
327
|
+
TestCodeGen,
|
|
328
|
+
TestConstants,
|
|
329
|
+
TestConditional,
|
|
330
|
+
TestCTypes,
|
|
331
|
+
TestDevices,
|
|
332
|
+
TestDLPack,
|
|
333
|
+
TestFabricArray,
|
|
334
|
+
TestFunc,
|
|
335
|
+
TestGenerics,
|
|
336
|
+
TestGradCustoms,
|
|
337
|
+
TestHashGrid,
|
|
338
|
+
TestIndexedArray,
|
|
339
|
+
TestLaunch,
|
|
340
|
+
TestMarchingCubes,
|
|
341
|
+
TestMatLite,
|
|
342
|
+
TestMath,
|
|
343
|
+
TestMatmulLite,
|
|
344
|
+
TestMesh,
|
|
345
|
+
TestMeshQueryAABBMethods,
|
|
346
|
+
TestMeshQueryPoint,
|
|
347
|
+
TestMeshQueryRay,
|
|
348
|
+
TestModuleHashing,
|
|
349
|
+
TestModuleLite,
|
|
350
|
+
TestNoise,
|
|
351
|
+
TestOperators,
|
|
352
|
+
TestQuat,
|
|
353
|
+
TestRand,
|
|
354
|
+
TestRounding,
|
|
355
|
+
TestRunlengthEncode,
|
|
356
|
+
TestSparse,
|
|
357
|
+
TestStreams,
|
|
358
|
+
TestTape,
|
|
359
|
+
TestTransientModule,
|
|
360
|
+
TestTypes,
|
|
361
|
+
TestUtils,
|
|
362
|
+
TestVecLite,
|
|
363
|
+
TestVolume,
|
|
364
|
+
TestVolumeWrite,
|
|
365
|
+
]
|
|
366
|
+
|
|
367
|
+
return _create_suite_from_test_classes(test_loader, test_classes)
|