intersystems / intersystems/ipm
Compilable resources (ie. .CLS files) defined with scope="test" or scope="verify" cause compilation error in test/verify phase
- Dominant language
- ObjectScript
- Stars
- 41
- Forks
- 29
- Avg merge
- 23h 54m
- Merged PRs (30d)
- 4
Description
This is either a missing feature, an unsupported behavior, or a bug. I am leaning towards a missing feature, but not 100% sure.
I tested that this is present on both versions 0.9.0 and 0.10.5(beta). There are no test cases that exist for this, and no use cases other than the MPRL module used in HSPILIB, which is why this has not been caught. Hence there is also no evidence that this has ever worked as intended.
Buggy behavior:
1. Define in your module.xml a compilable resource (ie. .CLS file) with scope="test" or scope="verify". Example:
`
HealthShare.Scope
Scope
1.0.0+snapshot
Test module for scope
module
`
2. Install the module. Should show success.
`zpm:HSLIB>install HealthShare.Scope
[HSLIB|HealthShare.Scope] Reload START (/home/irisowner/zpm/tests/integration_tests/Test/PM/Integration/_data/scope/)
[HSLIB|HealthShare.Scope] Reload SUCCESS
[HealthShare.Scope] Module object refreshed.
[HSLIB|HealthShare.Scope] Validate START
[HSLIB|HealthShare.Scope] Validate SUCCESS
[HSLIB|HealthShare.Scope] Compile START
[HSLIB|HealthShare.Scope] Compile SUCCESS
[HSLIB|HealthShare.Scope] Activate START
[HSLIB|HealthShare.Scope] Configure START
[HSLIB|HealthShare.Scope] Configure SUCCESS
[HSLIB|HealthShare.Scope] Activate SUCCESS`
3. Run either test or verify on the module, whichever one the scope is defined for. In a working situation, one would expect that NOW the scoped class will be compiled. However, there is an error that displays instead.
`zpm:HSLIB>HealthShare.Scope test -v
[HSLIB|HealthShare.Scope] Reload START (/home/irisowner/zpm/tests/integration_tests/Test/PM/Integration/_data/scope/)
[HSLIB|HealthShare.Scope] Reload SUCCESS
[HealthShare.Scope] Module object refreshed.
[HSLIB|HealthShare.Scope] Validate START
[HSLIB|HealthShare.Scope] Validate SUCCESS
[HSLIB|HealthShare.Scope] Compile START
Compilation started on 01/06/2026 20:22:49 with qualifiers 'd-lck'
ERROR #5351: Class 'HS.ScopedClass' does not exist.
Skipping class HS.ScopedClass
Detected 1 errors during compilation in 0.003s.
[HealthShare.Scope] Compile FAILURE
ERROR! Class 'HS.ScopedClass' does not exist.`
Follow-up note: the error occurs after you install in -dev and then run test phase, as well
Contributor guide
Assessment
This issue has not been assessed yet.