Skip to content

Make colormaptest robust against matplotlib changes - #4008

Merged
jellybean2004 merged 1 commit into
SasView:mainfrom
llimeht:tmp/fix-colormaptest
Jul 1, 2026
Merged

jellybean2004 merged 1 commit into
SasView:mainfrom
llimeht:tmp/fix-colormaptest

Conversation

@llimeht

@llimeht llimeht commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Description

Tweak tests of colormaps to be independent (or at least less dependent) on the matplotlib version, fixing current issues and saving future ones.

Fixes #4000

How Has This Been Tested?

CI tests now pass

Review Checklist:

[if using the editor, use [x] in place of [ ] to check a box]

Documentation (check at least one)

  • There is nothing that needs documenting
  • Documentation changes are in this PR
  • There is an issue open for the documentation (link?)

Installers

  • There is a chance this will affect the installers, if so
    • Windows installer (GH artifact) has been tested (installed and worked)
    • MacOSX installer (GH artifact) has been tested (installed and worked)
    • Wheels installer (GH artifact) has been tested (installed and worked)

Licensing (untick if necessary)

  • The introduced changes comply with SasView license (BSD 3-Clause)

@pkienzle

Copy link
Copy Markdown
Contributor

Ask mpl for the color map lists so you can use actual target values.

Also, change line 115 to assert mpl_colormaps[20] in spy_apply.called()[0]['args'][1] rather than testing against 'RdYlBu_r' so that it will not fail when the order of the color maps changes.

@llimeht

llimeht commented Jun 27, 2026

Copy link
Copy Markdown
Contributor Author

Ask mpl for the color map lists so you can use actual target values.

I've seen that strategy fail too many times in the past (loading the set fails silently for some reason and you've carefully established that 0 == 0 when the test really should have failed because you know you should have 150 items. My preference is normally to use a sensible lower bound. (I've played this game with modules that had tests for the number of countries or counties in a data set...).

So 'perhaps'.

Also, change line 115 to assert mpl_colormaps[20] in spy_apply.called()[0]['args'][1] rather than testing against 'RdYlBu_r' so that it will not fail when the order of the color maps changes.

I have no doubt that there are many more such items - there are at least a few more in that file (… == 47 stands out). I likely won't be finding time soon to fix them though - if others have the time and energy, they should be able to push to this branch to do so.

@krzywon krzywon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a more reasonable change than my xfail. I think this should be merged to fix our on-going CI failures.

@jellybean2004
jellybean2004 merged commit f18bd54 into SasView:main Jul 1, 2026
45 of 46 checks passed
@llimeht
llimeht deleted the tmp/fix-colormaptest branch July 1, 2026 11:04
jellybean2004 added a commit that referenced this pull request Jul 10, 2026
* Update release notes

* Add what's new

* Add release manager

* Ran automation script

* Pin requirements

* Correct branch names

* Update version number for a2

* Don't include magnetism parameters in pure python models (#3961)

* don't include magnetism parameters in pure python models

* update magnetism test to use a model that supports magnetism

---------

Co-authored-by: Paul Kienzle <pkienzle@nist.gov>

* Release 6.2.0 polyhedron html (#3972)

* adding polyhedrons in WhatsNew

* changing htlm description

* Corrects png to jpg

* Reorder pages

---------

Co-authored-by: jellybean2004 <sujayashr18@gmail.com>

* Build the installers if the github ref is a tag (#3960)

Co-authored-by: sujaya <88585975+jellybean2004@users.noreply.github.com>

* Update release numbers

* Replace Whats new screenshots with light bg

* Rezise images in what's new

* Fix private names config for sphinx (for 6.2.0)  (#3994)

* Fix sas.models suppression to not accidentally allow private members in sphinx

* Allow ruff to tidy conf.py

* Switching image in light mode (#4002)

* Change docpath handling to accept absolute-looking paths within the documentation tree (#3992)

Closes: #3976

* Fix free slicer (#3970)

* Delete slicer if its 1D plot is deleted

* Update slicer list after deletion

* Fix for annulus making other slicers nonmoveable

* Remove boxsum when window is closed

* Fix boxsum error messages

* Handle deletion of 2D plot

* Add tests

* Properly change/delete params shown

* Add documentation for CustomToolbar (#3999)

* Add documentation

* Add documentation

* Add documentation

* update

* Removes break

---------

Co-authored-by: Christian Wögerbauer <christian.woegerbauer@gmx.de>
Co-authored-by: jellybean2004 <sujayashr18@gmail.com>

* 3968: PD function shadowing [Release 6.2.0] (#4004)

* Remove the n_shells text setting to prevent mirroring of the value in the fitting widget.

* Remove gaussian from the checked_list to not always have the word gaussian over top of the combobox

---------

Co-authored-by: sujaya <88585975+jellybean2004@users.noreply.github.com>

* Update release numbers for beta1

* Make colormaptest robust against matplotlib changes (#4008)

* Refactors slicers to remove unecessary "updatePlot" calls (#4006)

* Refactors slicers to remove unecessary "updatePlot" calls

* Adds label for plot to slicer name

* Adds code to replace plot data for modified slicers (#4014)

* Adds code to replace plot data for modified slicers

* Removes unnecessary code from data setter

* Fixes bugs for cloned slicer plots (#4021)

* Fixes bugs for cloned slicer plots

* Fixes slicer owner bug on update

---------

Co-authored-by: sujaya <88585975+jellybean2004@users.noreply.github.com>

* Check slicer children for removal (#4025)

* Fix symmetric wedge phi plots (#4029)

* Remove duplicate class

* Set x and y transform for angular slices

* Fixes mask editor bug (#4024)

* Adds example data from SasData repository (#4033)

* getting example data from sasdata via installed python packages

* include example data with CRUFT

---------

Co-authored-by: Dirk Honecker <dirk.honecker@stfc.ac.uk>

* MacOS drag and drop installer (#4030)

* Refactor macOS DMG creation process

- Introduced a new script `create_dmg.sh` to handle the DMG creation for SasView on macOS.
- Updated CI workflow to use the new script and install `dmgbuild` via pip.
- Added necessary background image and settings for the DMG layout.

* Updated installer generator file

* Updated arrow position

* Resized image to match icons

* Simplified background and arrow

* Small adjustements

* Adding text to background image

* Fixing background image

* Updated images

* Syncing big and small images

* Handle encoding issues in loading credits.html (#4015)

Closes: #4013

* Update release numbers for beta 2

* Update dependency versions

* Updates release notes

---------

Co-authored-by: Paul Kienzle <paul.kienzle@nist.gov>
Co-authored-by: Paul Kienzle <pkienzle@nist.gov>
Co-authored-by: Sara Mokhtari <smokhtari@insa-toulouse.fr>
Co-authored-by: Jeff Krzywon <krzywon@yahoo.com>
Co-authored-by: Stuart Prescott <llimeht@users.noreply.github.com>
Co-authored-by: ChristianWoegerbauer <christian.woegerbauer@tum.de>
Co-authored-by: Christian Wögerbauer <christian.woegerbauer@gmx.de>
Co-authored-by: Paul Sharp <44529197+DrPaulSharp@users.noreply.github.com>
Co-authored-by: Dirk Honecker <dirk.honecker@stfc.ac.uk>
Co-authored-by: Wojciech Potrzebowski <wojtek.potrzebowski@scilifelab.se>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ColorMapTest Failing

4 participants