mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-29 12:38:58 -06:00
* test(automation): give sign_document a real digital ID and document in the hostile-arguments sweep sign_id_create, earlier in the sweep, wrote a digital ID to the in.pdf placeholder that sign_document then took as its id. Almost every sign_document call failed to decrypt it and never reached the hostile value under test, and the decrypts took most of the test's time. Each tool now starts from an empty root, and sign_document gets a test ID with its password and a fresh blank document per call. 370 of its 440 calls get past the ID (1 before) and 340 past the document (0 before); the sweep takes 7 s instead of 89 s. * test(automation): empty the sweep's root through its canonical path form_merge_data, given the hostile name " ", writes a file of that name into the root through the canonical \\?\ path, where Windows takes it literally. Emptying the root through the plain path dropped the trailing space, so the entry named the root itself and removing it deleted the root. Entries are now reached through the canonical path, their type is read from the directory entry, and a failed removal is reported. * test(automation): fail the sweep when the root can't be emptied Listing, typing or removing an entry left in the root now fails the test with the entry's path, so no tool runs against an earlier tool's files.