Skip to content

Commit b3427cf

Browse files
committed
Keep materialization responses machine-readable
1 parent 8926d51 commit b3427cf

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

packages/runtime-playground/src/mount-materialization.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ foreach (($payload['directories'] ?? array()) as $directory) {
488488
$skipped++;
489489
continue;
490490
}
491-
if (is_dir($directory) || mkdir($directory, 0777, true) || is_dir($directory)) {
491+
if (is_dir($directory) || @mkdir($directory, 0777, true) || is_dir($directory)) {
492492
$created++;
493493
continue;
494494
}
@@ -502,12 +502,12 @@ foreach (($payload['files'] ?? array()) as $file) {
502502
continue;
503503
}
504504
$directory = dirname($target);
505-
if (!is_dir($directory) && !mkdir($directory, 0777, true) && !is_dir($directory)) {
505+
if (!is_dir($directory) && !@mkdir($directory, 0777, true) && !is_dir($directory)) {
506506
$skipped++;
507507
continue;
508508
}
509509
$decoded = base64_decode($contents, true);
510-
if (false === $decoded || false === file_put_contents($target, $decoded)) {
510+
if (false === $decoded || false === @file_put_contents($target, $decoded)) {
511511
$skipped++;
512512
continue;
513513
}
@@ -532,7 +532,7 @@ foreach (($payload['directories'] ?? array()) as $directory) {
532532
$skipped++;
533533
continue;
534534
}
535-
if (is_dir($directory) || mkdir($directory, 0777, true) || is_dir($directory)) {
535+
if (is_dir($directory) || @mkdir($directory, 0777, true) || is_dir($directory)) {
536536
$created++;
537537
continue;
538538
}

tests/staged-input-materialization.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ await withTempDir("wp-codebox-staged-input-materialization-binary-", async (root
113113
assert.equal(result.skipped, 0)
114114
assert.equal(directWrites, 0, "arbitrary bytes bypass the UTF-8-only direct writer")
115115
assert.ok(binaryWriteCode.includes(contents.toString("base64")), "the PHP materializer receives the exact base64 payload")
116+
assert.match(binaryWriteCode, /@mkdir\(/, "expected filesystem failures do not corrupt the JSON response channel")
117+
assert.match(binaryWriteCode, /@file_put_contents\(/, "expected write failures remain structured skipped results")
116118
})
117119

118120
await withTempDir("wp-codebox-staged-input-materialization-invalid-response-", async (root) => {

0 commit comments

Comments
 (0)