Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend test code coverage and add missing python bindings #305

Merged
merged 7 commits into from
Mar 17, 2023

Conversation

cary-ilm
Copy link
Member

  • Add ImathHalfPerfTest as a test (it was built but not executed)
  • Box::isInfinite() tests
  • Box::affineTransform() tests with empty+infinite boxes
  • rgb2hsv/hsv2rgb
  • Add test code to python test for various matrix operators that were not covered
  • Matrix22 tests were commented out for some unknown reason.
  • In Matrix22 and Matrix33, the python bindings now call setScale(s)
    directly rather than calling setScale(Vec(s)). The behavior is the
    same, but this ensures the scalar version of the method gets test coverage.
  • In Matrix44:
    • Call setScale(s) in place of setScale(Vec(s)), same as above.
    • Similarly, call setShear(s) in place of setShear(Shear(s)). Same
      behavior, better test.
    • Add bindings for setEulerAngles() and setAxisAngles(), and
      associated tests. The test suite relies heavily on the bindings,
      so the bulk of the library testing is in python.

- Add ImathHalfPerfTest as a test (it was built but not executed)
- Box<T>::isInfinite() tests
- Box<T>::affineTransform() tests with empty+infinite boxes
- rgb2hsv/hsv2rgb

Signed-off-by: Cary Phillips <[email protected]>
Signed-off-by: Cary Phillips <[email protected]>
Signed-off-by: Cary Phillips <[email protected]>
- Add test code to python test for various operators that were not covered

- In Matrix22 and Matrix33, the python bindings now call setScale(s)
  directly rather than calling setScale(Vec(s)). The behavior is the
  same, but this ensures the scalar version of the method gets test coverage.

- In Matrix44:

  * Call setScale(s) in place of setScale(Vec(s)), same as above.

  * Similarly, call setShear(s) in place of setShear(Shear(s)). Same
    behavior, better test.

  * Add bindings for setEulerAngles() and setAxisAngles(), and
    associated tests.

Signed-off-by: Cary Phillips <[email protected]>
Signed-off-by: Cary Phillips <[email protected]>
Signed-off-by: Cary Phillips <[email protected]>
Signed-off-by: Cary Phillips <[email protected]>
@cary-ilm cary-ilm merged commit 9d3d867 into AcademySoftwareFoundation:main Mar 17, 2023
cary-ilm added a commit to cary-ilm/Imath that referenced this pull request May 19, 2023
…twareFoundation#305)

* Extend test suite coverage

- Add ImathHalfPerfTest as a test (it was built but not executed)
- Box<T>::isInfinite() tests
- Box<T>::affineTransform() tests with empty+infinite boxes
- rgb2hsv/hsv2rgb

Signed-off-by: Cary Phillips <[email protected]>

* typo

Signed-off-by: Cary Phillips <[email protected]>

* typo AcademySoftwareFoundation#2

Signed-off-by: Cary Phillips <[email protected]>

* Extend test coverage of matrix classes

- Add test code to python test for various operators that were not covered

- In Matrix22 and Matrix33, the python bindings now call setScale(s)
  directly rather than calling setScale(Vec(s)). The behavior is the
  same, but this ensures the scalar version of the method gets test coverage.

- In Matrix44:

  * Call setScale(s) in place of setScale(Vec(s)), same as above.

  * Similarly, call setShear(s) in place of setShear(Shear(s)). Same
    behavior, better test.

  * Add bindings for setEulerAngles() and setAxisAngles(), and
    associated tests.

Signed-off-by: Cary Phillips <[email protected]>

* remove commented-out line

Signed-off-by: Cary Phillips <[email protected]>

* include <sstream>

Signed-off-by: Cary Phillips <[email protected]>

* Imath.half_perf_test

Signed-off-by: Cary Phillips <[email protected]>

---------

Signed-off-by: Cary Phillips <[email protected]>
cary-ilm added a commit that referenced this pull request May 21, 2023
* Extend test suite coverage

- Add ImathHalfPerfTest as a test (it was built but not executed)
- Box<T>::isInfinite() tests
- Box<T>::affineTransform() tests with empty+infinite boxes
- rgb2hsv/hsv2rgb

Signed-off-by: Cary Phillips <[email protected]>

* typo

Signed-off-by: Cary Phillips <[email protected]>

* typo #2

Signed-off-by: Cary Phillips <[email protected]>

* Extend test coverage of matrix classes

- Add test code to python test for various operators that were not covered

- In Matrix22 and Matrix33, the python bindings now call setScale(s)
  directly rather than calling setScale(Vec(s)). The behavior is the
  same, but this ensures the scalar version of the method gets test coverage.

- In Matrix44:

  * Call setScale(s) in place of setScale(Vec(s)), same as above.

  * Similarly, call setShear(s) in place of setShear(Shear(s)). Same
    behavior, better test.

  * Add bindings for setEulerAngles() and setAxisAngles(), and
    associated tests.

Signed-off-by: Cary Phillips <[email protected]>

* remove commented-out line

Signed-off-by: Cary Phillips <[email protected]>

* include <sstream>

Signed-off-by: Cary Phillips <[email protected]>

* Imath.half_perf_test

Signed-off-by: Cary Phillips <[email protected]>

---------

Signed-off-by: Cary Phillips <[email protected]>
cary-ilm added a commit that referenced this pull request May 31, 2023
This alters the ABI in what should be a patch release.

Signed-off-by: Cary Phillips <[email protected]>
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jun 6, 2023
## Version 3.1.9 (May 31, 2023)

Patch release that fixes an correct .so version number introduced in
v3.1.8. All Imath library functionality is compatible with v3.1.8.

This release also reverts
[#305](AcademySoftwareFoundation/Imath#305),
which inadvertently introduced additional python bindings in v3.1.8
that altered the ABI of ``libPyImath``. ``libPyImath`` is now
ABI-compatible with v3.1.7 and previous releases.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants