mantidproject / mantid

Main repository for Mantid code
https://www.mantidproject.org
GNU General Public License v3.0
207 stars 122 forks source link

Use int instead of long in Inelastic Corrections tab properties #37543

Closed robertapplin closed 2 weeks ago

robertapplin commented 2 weeks ago

Description of work

This PR fixes a crash on the Calculate Paalman Pings and Calculate Monte Carlo Absorption tabs of the Inelastic Corrections interface. It was caused by changes in the following PR https://github.com/mantidproject/mantid/pull/37196

I am adding manual testing instructions in a separate PR so that similar problems will be discovered earlier on in the release cycle next time.https://github.com/mantidproject/mantid/issues/37541

To test:

Calculate Paalman Pings: Sample: irs26176_graphite002_red.zip Sample Thickness: 0.1cm Chemical Formula: H2-O Click Run, there should be no crash and a workspace ending in _Corrections should be produced

Calculate Monte Carlo Absorption: Sample: 26176 (on the system) Shape: FlatPlate Sample Height & width: 1.0 Sample and Container Thickness: 0.1 Sample mass density: 1 Sample Formula: H2-O Container mass density: 6 Container Formula: V Click Run, there should be no crash and a workspace ending in _Corrections should be produced

This does not require release notes because it is a regression

Reviewer

Please comment on the points listed below (full description). Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.

Code Review

Functional Tests

Does everything look good? Mark the review as Approve. A member of @mantidproject/gatekeepers will take care of it.

Gatekeeper

If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.

jhaigh0 commented 2 weeks ago

Could a unit test be written to test this?

robertapplin commented 2 weeks ago

Could a unit test be written to test this?

This would be a good idea, but I don't think it will be possible because this specific problem only happens when setting a property on a python algorithm from C++, and the property is an Int property. And in our unit test framework, the python algorithms are not registered at the point when running our C++ unit tests, so to replicate the crash from a unit test would not be possible

As an alternative, I plan on creating manual testing instructions for this interface over the next couple of days https://github.com/mantidproject/mantid/issues/37541

Apologies for this fix coming so late!