Skip to content

fix(test): treat *.extension entries as changeable in PSPackageBuilderTest (#201) - #202

Merged
natechadwick merged 1 commit into
mainfrom
bugfix/201-fix-pspackagebuilder-test-extension-allowlist
Sep 8, 2026
Merged

fix(test): treat *.extension entries as changeable in PSPackageBuilderTest (#201)#202
natechadwick merged 1 commit into
mainfrom
bugfix/201-fix-pspackagebuilder-test-extension-allowlist

Conversation

@natechadwick-intsof

Copy link
Copy Markdown
Collaborator

Summary

PSPackageBuilderTest.testAllPackagesMatchReferenceStructure was failing on perc.Baseline:

perc.Baseline: content differs in:
  [Extension-Java/global/percussion/system/pageutils/pageutils.extension]

The reference perc.Baseline.ppkg in modules/perc-packages/src/test/resources/Packages/Percussion/ was built by the original ant-based tool before the T2.17.4c json-lib EOL removal (PR #150, commit ba565eb2b9). That PR deliberately migrated net.sf.json.JSONArraycom.fasterxml.jackson.databind.node.ArrayNode on the getPagesForCalendar JEXL method, which updates the pageutils.extension XML descriptor at line 127. Single intentional source-level change:

-<PSExtensionMethod ... name="getPagesForCalendar" returntype="net.sf.json.JSONArray">
+<PSExtensionMethod ... name="getPagesForCalendar" returntype="com.fasterxml.jackson.databind.node.ArrayNode">

Fix

Add *.extension to PSPackageBuilderTest#isChangeableFile (the existing allowlist already exempts *.xml, *.js, *.properties, *.html, *.css, *.txt, *.md). All 16 *.extension files in system/Packages/perc.Baseline/Extension-Java/ are file-reported as XML 1.0 document, so they belong in the same changeable bucket as *.xml. Future descriptor edits (return types, signatures, deprecations) will be tolerated without rebuilding the reference package.

--- a/modules/perc-packages/src/test/java/com/percussion/packages/PSPackageBuilderTest.java
+++ b/modules/perc-packages/src/test/java/com/percussion/packages/PSPackageBuilderTest.java
@@ -147,7 +147,8 @@
         || lower.endsWith(".htm")
         || lower.endsWith(".css")
         || lower.endsWith(".txt")
-        || lower.endsWith(".md");
+        || lower.endsWith(".md")
+        || lower.endsWith(".extension");
   }

Verification

  • ./mvn-env.sh test -Dtest=PSPackageBuilderTest -pl modules/perc-packagesTests run: 1, Failures: 0, Errors: 0, Skipped: 0 (all reference packages now report OK:).
  • ./mvn-env.sh spotless:check -pl modules/perc-packages → BUILD SUCCESS.

Closes #201

Co-Authored by Mavis mavis using minimax/MiniMax-M3 with agent mavis.

…rTest (#201)

The static reference perc.Baseline.ppkg predates the T2.17.4c json-lib
EOL removal (PR #150, commit ba565eb), which migrated the
getPagesForCalendar JEXL return type from net.sf.json.JSONArray to
com.fasterxml.jackson.databind.node.ArrayNode. That migration updates
the pageutils.extension XML descriptor at line 127, so the test now
fails with:

  perc.Baseline: content differs in:
    [Extension-Java/global/percussion/system/pageutils/pageutils.extension]

*.extension files are XML descriptors (file reports all 16 in
system/Packages/perc.Baseline/Extension-Java/ as "XML 1.0 document")
that legitimately evolve between releases: return types, signatures,
deprecations, etc. Add them to the existing changeable-file allowlist
next to *.xml, *.js, *.properties, *.html, *.css, *.txt, *.md so
descriptor edits no longer require rebuilding the reference package.

Verification:
- ./mvn-env.sh test -Dtest=PSPackageBuilderTest -pl modules/perc-packages
  -> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
- ./mvn-env.sh spotless:check -pl modules/perc-packages -> BUILD SUCCESS

Closes #201

> Co-Authored by Mavis mavis using minimax/MiniMax-M3 with agent mavis.
@natechadwick
natechadwick merged commit 0863f8a into main Sep 8, 2026
3 checks passed
@natechadwick
natechadwick deleted the bugfix/201-fix-pspackagebuilder-test-extension-allowlist branch September 8, 2026 14:21
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.

[8.1.8] PSPackageBuilderTest.testAllPackagesMatchReferenceStructure fails on perc.Baseline after json-lib EOL removal

2 participants