Commit Graph

38 Commits

Author SHA1 Message Date
KIU Shueng Chuan
0afd8adcd8 add Big Sur conditional examples from utils.py 2021-07-31 08:28:45 +08:00
ntjess
4a921ddf71
Filter examples (#1868)
* Allows filtering of examples

* For some reason, the ui designer ignored the courier font family so I manually inserted it into the .ui file

* Allows filtering by file content, too

* Respects dark mode (maybe?), fixes policy setting on code layout

* Prevents "run edited code" from showing unless the actual content changes

* Looks like black font is always best against highlight background

* Left test code in commit...

* Fix broken highlighting on PyQt6

* Address #133

* Better highlighting for both dark and light mode

* Minor refactoring/cleanup, uses combo box instead of checkbox

* Combo box below text edit to avoid clipping

Co-authored-by: njessurun <ntjessu@gmail.com>
2021-06-26 17:51:34 -07:00
Ogi Moore
29bdf9949e Skip GLTextIem on some conditions on macOS 2021-06-08 21:11:24 -07:00
KIU Shueng Chuan
1715d5a6fa error on presence of "Exception:" and "Error:" 2021-06-08 15:13:17 +08:00
Ogi Moore
c7675ca8bb Fix unraisable exception in test_examples
The way we called subprocess.Popen, it looks like we didn't close all
the pipes; this PR addresses the warning that pytest generates when
running the examples.

In addition, we toggle the pytest setting to error on any warning
2021-05-31 21:06:16 -07:00
Ogi Moore
ee951331be Close the example app after it launches 2021-05-31 21:06:16 -07:00
KIU Shueng Chuan
21296cd4f3 change all examples to use pg.exec() 2021-05-14 06:16:21 +08:00
Ogi Moore
e735d2d9b8 Block pyopenGL tests on more macOS platforms
When running on macOS Big Sur, pyopenGL is unable to find the bindings

Previously this was assumed that it would be fixed in later versions
of Python 3.8, but that has not happened.
2021-04-15 22:08:50 -07:00
KIU Shueng Chuan
c49e471192 don't skip test_ExampleApp.py 2021-03-02 05:57:17 +08:00
Kiu Shueng Chuan
1ad7d49908 de-duplicate Big Sur opengl skip testing 2021-03-02 05:57:17 +08:00
KIU Shueng Chuan
de11e6315c let examples have a chance to exit normally
cleanup imported module

1) instantiate MainWindow class if present
2) delete attributes from imported module when done
2021-03-01 21:24:43 +08:00
KIU Shueng Chuan
61616ffad9 remove calls to setGraphicsSystem
in fact all are no-ops
2021-02-22 19:17:53 +08:00
KIU Shueng Chuan
321b5e627a remove ProgressDialog from CI testing 2021-02-06 17:08:32 +08:00
KIU Shueng Chuan
2f4ceee1ce fix RemoteSpeedTest shutdown errors
fix BufferError: cannot close exported pointers exist
for some reason, even though the ctypes object falls out of function
scope, it causes a lingering reference.
in any case, the use of ctypes is no longer necessary.

Don't change temporary files mid-way for Darwin
This fixes the CI issues on Darwin.

close the remote process on app shutdown.
2021-01-28 07:19:54 +08:00
pijyoi
1044a7b6c4
Add almost all examples to ExampleApp (#1511)
* fix: delete generated designerExample_*.py files

designerExample.py loads designerExample.ui directly

* remove unused examples/utils.py

* add almost all examples in folder

* use mkQApp and don't set style nor palette

not needed for an example and also avoids a PyQt6 6.0 refcount bug in
app.setStyle()

* bold interesting examples

* test_examples.py needs to know about Namespace too

* Revert "remove unused examples/utils.py"

This reverts commit 2eddead459.

* categorize examples lists in utils.py
2021-01-26 13:45:53 -08:00
KIU Shueng Chuan
6c760f3de1 add PyQt6 to CI
skip tests that don't work for Qt6

add Qt6 and remove Qt4 from test_examples.py

update README.md

switch mouse tests to use QPointF

this eliminates all the special casing for different bindings
2021-01-23 08:31:00 +08:00
Martin Chase
f2b4a15b2d
Performance enhancement: use CUDA in ImageItem (#1466)
* Add CLI args to video speed test for easier / automated benchmarking

* use a buffer-qimage so we can avoid allocing so much

this should improve performance under windows

* playing with numba

* oh, mins/maxes in the other order

* maybe put the cupy in here and see what happens

* pre-alloc for gpu and cpu

* handle possibility of not having cupy

* no numba in this branch

* organize imports

* name them after their use, not their expected device

* cupy.take does not support clip mode, so do it explicitly

* add CUDA option to the VideoSpeedTest

* rename private attr xp to _xp

* handle resizes at the last moment

* cupy is less accepting of lists as args

* or somehow range isn't allowed? what histogram is this?

* construct the array with python objects

* get the python value right away

* put LUT into cupy if needed

* docstring about cuda toolkit version

* better handling and display of missing cuda lib

* lint

* import need

* handle switching between cupy and numpy in a single ImageItem

* only use xp when necessary

we can now depend on numpy >= 1.17, which means __array_function__-implementing cupy can
seamlessly pass into numpy functions. the remaining uses of xp are for our functions which
need to allocate new data structures, an operation that has to be substrate-specific.

remove empty_cupy; just check if the import succeeded, instead.

* use an option to control use of cupy

* convert cupy.ceil array to int for easier mathing

* RawImageWidget gets to use the getCupy function now, too

* raise error to calm linters; rename for clarity

* Add Generated Template Files

* document things better

* cruft removal

* warnings to communicate when cupy is expected but somehow broken

* playing with settings to suss out timeout

* playing with more stuff to suss out timeout

* replace with empty list

* skip test_ExampleApp on linux+pyside2 only

Co-authored-by: Luke Campagnola <luke.campagnola@gmail.com>
Co-authored-by: Ogi Moore <ognyan.moore@gmail.com>
2021-01-19 21:26:24 -08:00
Ogi Moore
6eace48663 Skip openGL tests on some macOS configs 2020-12-22 10:26:19 -08:00
Ogi Moore
7e57e07068
example app now works with Qt4 and Python2 again (#1302)
* example app now workw with Qt4 and Python2 again

* Example App is now part of the test suite

* Add initExample

* No scary warning when launching examples

* Fix scary examples.__main__ warning

* Use courier new font as its on all platforms

* Remove commented out code

* Add newline

* Updated docs, example app now tested

* Non-relative import for example app

* Proper importing now
2020-10-19 11:51:12 -07:00
Ogi
ab96ca1d30 Examples Should Be Tested on PySide2 5.14.2.2 2020-06-02 22:44:17 -07:00
Ogi
19ae94765f Skip tests involving loadUi with pyside2 5.14 2020-02-24 23:00:42 -08:00
Ogi Moore
584c4516f0
Expand CI + pre-commit (#991)
* Initial attempt at extra checks in CI land

* Adding flake8 config

* Adding pre-commit configuration and explanation in CONTRIBUTING.md
2019-08-29 13:56:25 -07:00
Ogi
fe637512b5 Skip GL* examples if on macOS with python2 and qt4 bindings, and update readme 2019-06-25 23:05:38 -07:00
Ogi Moore
0cc4900d7a
Skip some test examples (#937)
* Skip RemoteSpeedTest.py during testing
* Skip `optics_demos.py` test on PySide 1. 2.4  due to documented pyside bug
2019-06-21 08:36:42 -07:00
Ogi
f05ff6fbf9 Restore duplicate entries in examples app, but test_examples does not duplicate tests 2019-06-10 21:20:31 -07:00
Ogi
be0e95ace7 Incorporating requested changes 2019-06-03 20:49:31 -07:00
Ogi
9f66b7dc6e Much better error reporting/tracepacks on examples 2019-06-02 22:16:35 -07:00
Ogi
5ff409ba4b Move example test code such that pytest is required 2019-06-01 22:36:11 -07:00
2xB
560993e8c5 Exclude selected examples from tests (such as HDF5) 2019-05-29 11:16:09 +02:00
2xB
a37e877631 Add PyQt5 and PySide2 to test_example.py (#897)
* Add PySide2 to test_example.py

Before, example tests are skipped because no PyQt version was found
2019-05-27 21:07:25 -07:00
Luke Campagnola
24b288a05a really actually fix 2016-12-14 10:19:01 -08:00
Luke Campagnola
8d85b87d71 py3 fix 2016-12-14 10:14:11 -08:00
Luke Campagnola
8fc98a6a0b Add print wrapper to work around interrupted system calls on travis 2016-12-14 10:07:16 -08:00
Eric Dill
afbc65325e py26: {} cannot be empty for string formatting
So that's a nasty gotcha of python 2.6!
2015-08-02 17:18:38 -04:00
Eric Dill
4b15fa75d5 TST: Use pgcollections.OrderedDict for 2.6 compat 2015-08-02 17:08:07 -04:00
Eric Dill
c02dbe7679 TST: use pyqtgraph.Qt to import Qt stuff 2015-07-31 10:22:41 -04:00
Eric Dill
ed35993ae1 TST: all the testing 2015-07-12 16:12:42 -05:00
Eric Dill
6375c74109 TST: Finish testing all examples
- py.test will now run examples/test_examples.py too
2015-07-12 13:42:58 -05:00