Commit Graph

38 Commits

Author SHA1 Message Date
rdb eab8b1c7a3 tform: MouseWatcher sort should uniquify duplicates
Also change the code to use range-for when appropriate, which improves code readability.
2018-06-12 13:44:24 +02:00
rdb c1e5a71904 tests: ensure FrameBufferProperties has working copy constructor 2018-06-09 10:38:03 +02:00
rdb d8bf9d4b55 tests: skip display tests if pipe cannot create offscreen buffers 2018-06-03 22:33:12 +02:00
rdb 4f55e26e61 tests: add tests for BitMask*.is_all_on() 2018-05-30 23:06:47 +02:00
rdb 8d84c58d73 express: explicitly declare defaulted Datagram copy/move ctor/assign
Fixes #329
2018-05-27 15:38:19 +02:00
Sam Edwards 339e1ce4d8 tests: Update the datagram tests 2018-05-26 18:36:46 -06:00
rdb 5c9705c21c pgraph: fix crash accessing python_tags via dict property
Fixes #326
2018-05-24 22:44:08 +02:00
rdb ddc45e3529 tests: fix broken test case, add more WeakNodePath comparisons 2018-05-24 22:25:20 +02:00
rdb ae8e9d159d tests: add some unit tests for UpdateSeq 2018-05-24 21:39:05 +02:00
rdb 941fda6ec3 pgraph: fix comparisons between WeakNodePath and NodePath
Previously it would only work correctly if the WeakNodePath appeared on the left side of the comparison operator.
2018-05-20 15:57:23 +02:00
rdb f986f8de1b showbase: add back clampScalar and PriorityCallbacks to PythonUtil
These were removed by 88dbb31daa under the assumption that they were not used, but it has recently come to my attention that there is still code out there that uses these.

PriorityCallbacks has been updated to be compatible with Python 3 by only comparing the priority, rather than the (priority, callback) tuple. This also has the side-effect of ditching the bisect dependency.

Also moves testing code from the source to the unit tests.
2018-04-21 11:43:46 +02:00
rdb fc172f8918 tests: fix unit test on 32-bit Ubuntu due to float imprecision 2018-04-20 12:48:26 +02:00
rdb 4877e8350d tests: fix unit test on 64-bit Ubuntu due to float imprecision
[skip ci]
2018-04-18 18:25:29 +02:00
rdb 22f933a419 tests: disable datagram bytes() test on Python 2
See #297
2018-04-06 20:34:48 +02:00
rdb b4d29e6096 express: allow using bytes() on Datagram
Closes: #297
2018-04-06 17:42:59 +02:00
rdb bfff7e1000 tests: don't assert if pipe cannot create physical windows 2018-03-08 11:41:00 +01:00
rdb 9638eb47eb Add support for geometry with adjacency information
Example code: https://gist.github.com/rdb/7cebb8941b962c59d5a092048efb3855
2018-03-01 21:20:19 +01:00
Sam Edwards 89be2c19af tests: Add tests for Datagram{,Iterator,InputFile,OutputFile}
This also includes a test for my previous commit which changes
DatagramInputFile::get_datagram().
2018-02-23 03:08:01 -07:00
rdb e0569815b5 tests: add test for prc page and one for light color temperature 2018-02-21 15:56:45 +01:00
Sam Edwards 7aedc21510 tests: Update audio test to recognize missing sounds as NullAudioSound 2018-02-20 00:55:49 -07:00
Sam Edwards bc88566906 tests: Add xfail test for loading a missing audio file 2018-02-19 19:15:08 -07:00
rdb 5c90f64182 text: fix is_whitespace() assertion when invalid chars are included 2018-02-17 20:50:18 +01:00
rdb d6cf575225 pgraph: fix LightAttrib.compose resulting in wrong on_light values 2018-01-26 14:30:21 +01:00
rdb f37c070c7c tests: cleanup GraphicsEngine to prevent shutdown freeze on windows
This occurs with the multithreaded render pipeline.  It's not an issue when using ShowBase because ShowBase also explicitly calls this during shutdown.
2018-01-03 00:07:50 +01:00
rdb 97eb734765 tests: add test cases for GLSL shaders 2017-12-24 20:46:53 +01:00
rdb 2f910ccd7c tests: fixes for the window tests 2017-12-24 20:34:06 +01:00
rdb ed5e5386b9 AsyncFuture improvements, incl. support for gathering futures 2017-12-21 14:07:01 +01:00
rdb 9dcfcbf5fa texture: support store() on more component types (incl. sRGB)
This changes behaviour for sRGB textures, which weren't previously converting to the correct color space.

Also add unit tests for storing to PNMImage.

Closes: #212
2017-12-19 20:02:49 +01:00
rdb 348b1c344d texture: support uint/float/half/sRGB textures in TexturePeeker 2017-12-19 18:44:18 +01:00
rdb 2e20a0f16e Implement awaitable thread-safe future for async operations
This introduces AsyncFuture as a new base class of AsyncTask.  It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).

AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it.  As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().

Note that AsyncFuture is intended to be used *once*; it cannot be used more than once.  As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
2017-12-04 22:25:28 +01:00
rdb 69b3468b2c interrogate: more improvements to seq/map wrappers
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.

Fixes: #203
2017-11-27 17:29:50 +01:00
rdb 3be22679a4 display: also avoid getting more than 24 color bits if 0 were requested
See issue #197
2017-11-26 00:06:03 +01:00
rdb 0edac2e94a Work around gamma issue with 64-bit color depths on NVIDIA hardware 2017-11-16 23:52:12 +01:00
rdb 3621bd64c5 tests: add unit tests for bullet bam serializability 2017-11-08 01:56:31 +01:00
rdb dc1f5dd3b1 tests: fix syntax error on Python 3 2017-11-06 19:42:52 +01:00
rdb b73c627c61 tests: add interrogate tests for MAKE_PROPERTY et al 2017-11-06 13:02:23 +01:00
Mitchell Stokes aabf009ff0 tests: Add test_window_basic
This test just makes sure that created windows match the default
WindowProperties (with a few exceptions).

This also adds the following fixtures:

  * graphics_engine - scope='session', GraphicsEngine
  * graphics_pipe - scope='session', default GraphicsPipe
  * window - scope='test', GraphicsWindow with default framebuffer and window properties
2017-11-03 19:25:13 +01:00
Mitchell Stokes 9d7896ccc4 tests: Add simple NodePath tests using PyTest
These tests were converted from the tests branch with some changes:

  * Convert from unittest to PyTest
  * Update code to use new API (LVector3 instead of Vec3, properties, etc.)
2017-11-03 17:58:53 +01:00