Skip to content

Test every packaged taglib binding through real JSP engines - #179

Merged
jmanico merged 1 commit into
mainfrom
test/batch-03-jsp-engines
Sep 26, 2026
Merged

jmanico merged 1 commit into
mainfrom
test/batch-03-jsp-engines

Conversation

@jmanico

@jmanico jmanico commented Sep 26, 2026

Copy link
Copy Markdown
Member

Closes #120. Batch 03 in #169, following the merged OSGi #174 and XML 1.1 #168 changes.

The descriptor/reflection tests did not execute a JSP compiler. Normal mvn clean verify now deploys the packaged core and each adapter into isolated Tomcat/Jasper 9.0.122 and 10.1.60 test JVMs, discovers the packaged basic/advanced TLD bindings, compiles JSPs, and compares complete HTTP response bytes with the String/Writer facade contracts. Every tag also must reject bodies and missing required attributes through Jasper translation diagnostics.

The current surface has 72 bindings per adapter: 1,152 exact-byte checks and 144 translation rejections across both engines, covering JSON/XML 1.1, hostile markup/controls/Unicode, buffer boundaries, null/missing values, and EL coercion. Counts follow the packaged TLDs. Engine dependencies remain in the build plugin realm and forked JVM; published APIs, runtime dependencies, Java 8, existing unit/JPMS/OSGi/parity tests and required browser coverage remain intact. The fixture runs without Docker or install. Failure sources/work directories are retained in CI artifacts.

Tomcat support and September advisories were reviewed against Apache's current primary sources; both maintained versions include those fixes. The older API/runtime consumer fixtures remain separate. See compatibility/jsp-engine/README.md for the boundaries and update policy.

Validation: local JDK 17 clean verify passed 2,178 unit tests, eight existing integration tests, both real engines, API/signature checks, and all 15 package guards. Version/parity checks, actionlint and diff checks passed. CI supplies the remaining Java 8/11/17/21/25 packaged runs and required Docker/browser checks.

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.

Render every current JSP and Jakarta tag/EL binding through isolated JSP engines

1 participant