Skip to content

Fix REST path, process monitor, and Mongo EJSON test generation#1653

Open
hoco-scy wants to merge 2 commits into
WebFuzzing:masterfrom
hoco-scy:fix/uri-surrogate-and-process-monitor-20260718
Open

Fix REST path, process monitor, and Mongo EJSON test generation#1653
hoco-scy wants to merge 2 commits into
WebFuzzing:masterfrom
hoco-scy:fix/uri-surrogate-and-process-monitor-20260718

Conversation

@hoco-scy

Copy link
Copy Markdown

Summary

This PR fixes three independent failures observed while generating and running
EvoMaster tests across the WebFuzzing SUT suite:

Changes

  • Normalize Java-only Mongo EJSON backslash-u sequences with octal backslash
    escapes, preserving the EJSON runtime value while preventing Java Unicode
    preprocessing from rejecting generated source.
  • Encode non-ASCII resolved REST path characters and retain URI rawPath for
    static path segments.
  • Initialize process-monitor output only when process monitoring is enabled.

Evidence and Validation

  • Reproduced the Mongo failure in generated genome-nexus source:
    EM_genome_nexus_True_True_0_1_Test.java, line 2534.
  • Added MongoWriterTest for a literal \\uJTQGh EJSON value.
  • Passed: mvn -pl core -Dtest=MongoWriterTest test.
  • Passed a clean core build before the Mongo change:
    mvn -pl core -am clean package -DskipTests.
  • Completed 36/36 one-configuration SUT validation with no controller-port,
    URI-surrogate, process_data, or DayOfMonth=0 errors.

Scope

The Mongo octal escaping applies only to Java output. Kotlin retains its
existing escaping path because Kotlin does not support Java octal string
escapes.

@arcuri82

Copy link
Copy Markdown
Collaborator

hi @hoco-scy !
you are a student of @man-zhang isn't it?
thanks for this PR ;)
as Man told you about docs/for_msc_bsc_students.md? once CI passes, ask @man-zhang for a review, and, when she will accept your updates/changes, she will ask for my review here on GitHub.
also, no need to create entries under issues (that is mainly for external users), you can just discuss them here directly in the PR description
thanks ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants