Page MenuHomePhabricator

Mostly remove "STDERR" and "STDOUT" constants from Arcanist
ClosedPublic

Authored by epriestley on Apr 28 2022, 10:25 PM.
Tags
None
Referenced Files
F19503635: D21794.id51950.diff
Fri, Jan 9, 12:53 AM
F19500235: D21794.id51950.diff
Thu, Jan 8, 2:18 PM
F19496448: D21794.diff
Thu, Jan 8, 11:34 AM
F19470215: D21794.id.diff
Mon, Jan 5, 11:33 AM
F19468311: D21794.diff
Sun, Jan 4, 2:10 AM
F19064766: D21794.id51954.diff
Nov 29 2025, 10:50 PM
F18865171: D21794.id.diff
Nov 3 2025, 11:01 AM
F18809223: D21794.id.diff
Oct 19 2025, 12:04 PM
Subscribers

Details

Summary

Ref T13675. Ref T13556. The "STDOUT" and "STDERR" constants are defined by the PHP CLI SAPI, in cli_register_file_handles().

The "native arc" embedded PHP wrapper doesn't define these, and there's no real reason to define them, since they're just defined in terms of the PHP stream wrappers ("php://stdin", etc) anyway.

This patch isn't exhaustive (and a subsequent change should add lint, rejecting these magic constants) but is just trying to make native arc functional.

Test Plan

Created this revision with a standalone native arc binary.

Diff Detail

Repository
rARC Arcanist
Branch
stdio
Lint
Lint Errors
SeverityLocationCodeMessage
Errorsrc/filesystem/PhutilErrorLog.php:31XHP20Tautological Expression
Unit
Test Failures
Build Status
Buildable 25692
Build 35520: arc lint + arc unit

Unit TestsFailed

TimeTest
1,193 msArcanistBundleTestCase::testGitRepository
EXCEPTION (Exception): This patch has binary data. The PHP zlib extension is required to apply patches with binary data to git. Install the PHP zlib extension to continue. #0 /Users/epriestley/dev/core/lib/arcanist/src/parser/ArcanistBundle.php(823): ArcanistBundle::newBase85Data('\x89PNG\r\n\x1A\n\x00\x00\x00\rIHD...', '\n') #1 /Users/epriestley/dev/core/lib/arcanist/src/parser/ArcanistBundle.php(813): ArcanistBundle->emitBinaryDiffBody('\x89PNG\r\n\x1A\n\x00\x00\x00\rIHD...')
0 msAbstractDirectedGraphTestCase::testCyclicGraph
1 assertion(s) passed.
0 msAbstractDirectedGraphTestCase::testEdgeLoadFailure
1 assertion(s) passed.
0 msAbstractDirectedGraphTestCase::testNonTreeGraph
1 assertion(s) passed.
0 msAbstractDirectedGraphTestCase::testNoncyclicGraph
1 assertion(s) passed.
View Full Test Results (1 Failed · 240 Passed)

Event Timeline

epriestley created this revision.
cspeckmim added inline comments.
src/utils/PhutilSystem.php
31

This and the next function look swapped. This is getStderr but is initializing and returning stdout, and vice-versa below

src/utils/PhutilSystem.php
31

Ah, quite. Thanks!

  • Fix stderr vs stdout mixup.
This revision was not accepted when it landed; it landed in state Needs Review.May 3 2022, 6:58 PM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.