Skip to content

tinyxml2: add xmldoctest and xmlprintertest fuzzers covering XMLDocument API and XMLPrinter#15770

Open
SomnathDas wants to merge 5 commits into
google:masterfrom
SomnathDas:add-tinyxml2
Open

tinyxml2: add xmldoctest and xmlprintertest fuzzers covering XMLDocument API and XMLPrinter#15770
SomnathDas wants to merge 5 commits into
google:masterfrom
SomnathDas:add-tinyxml2

Conversation

@SomnathDas

Copy link
Copy Markdown

Changes ::

The existing xmlfuzz target only exercises XMLDocument::Parse. Per the Introspector report dated 2026-06-16, the entire XMLPrinter class and a large portion of the XMLDocument API had 0% coverage.

xmlprintertest covers the full XMLPrinter surface: the streaming builder API (OpenElement, CloseElement, all PushAttribute and PushText typed overloads, PushComment, PushDeclaration, PushUnknown, PushHeader, ClearBuffer), the visitor dispatch path triggered via doc.Accept(), and the internal helpers PrintString, PrintSpace, and SealElementIfJustOpened which are reached transitively.

xmldoctest covers the XMLDocument construction and query API: all typed QueryValue and QueryText attribute/text conversion functions, all typed SetAttribute and SetText overloads, the full tree mutation API (New* factory methods, Insert*/DeleteChild/DeleteAttribute), document-level operations (DeepCopy, SaveFile, Clear), the ShallowClone/ShallowEqual/DeepClone paths, XMLHandle and XMLConstHandle traversal, and so on.

Before ::

image

After ::

Locally ran for about --seconds 180.
image

@google-cla

google-cla Bot commented Jun 18, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@github-actions

Copy link
Copy Markdown

SomnathDas is a new contributor to projects/tinyxml2. The PR must be approved by known contributors before it can be merged. The past contributors are: arthurscchan, hunsche, vitaliset, kiddo-pwn, DonggeLiu, inferno-chromium, Dor1s, Androbin (unverified), jumde (unverified)

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.

1 participant