Page MenuHomePhabricator

Rough version of configuration driven unit test engine
ClosedPublic

Authored by joshuaspence on Jul 7 2015, 2:07 PM.

Details

Summary

Ref T5568. As discussed in IRC. This is very rough and not widely useable, but represents a solid first step.

Test Plan

Ran arc unit with a bunch of flags.

Diff Detail

Repository
rARC Arcanist
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

joshuaspence retitled this revision from to Rough version of configuration driven unit test engine.
joshuaspence updated this object.
joshuaspence edited the test plan for this revision. (Show Details)
joshuaspence added a reviewer: epriestley.
BYK added a subscriber: BYK.Jul 7 2015, 2:36 PM
epriestley accepted this revision.Jul 7 2015, 3:34 PM
epriestley edited edge metadata.
epriestley added inline comments.
src/unit/engine/ArcanistConfigurationDrivenTestEngine.php
7 ↗(On Diff #32820)

Maybe only true if at least one configured engine supports --everything.

69–72 ↗(On Diff #32820)

Could we just do the type check first, and simplify this a bit?

120 ↗(On Diff #32820)

I think we should move away from support for this (and "postponed" linters) -- these models never really made sense, and Harbormaster is on the horizon now. Fine to maintain support if it's "free", but feel free to just drop it if it's non-free, too.

125 ↗(On Diff #32820)

At some point, maybe we should emit a warning here if an engine doesn't support --everything, to reduce surprise when --everything does not really mean --everything.

128 ↗(On Diff #32820)

Consider type checking the results, similar to D13486, to place blame on bad engines more clearly.

150 ↗(On Diff #32820)

(Is this essentially identical to something in the Lint engine?)

This revision is now accepted and ready to land.Jul 7 2015, 3:34 PM
joshuaspence edited edge metadata.

Minor tidying

joshuaspence marked an inline comment as done.

Only support --everything if at least one of the configured test engines supports it

joshuaspence marked an inline comment as done.

Rename class for consistency

joshuaspence marked an inline comment as done.

Add a bunch of TODOs

joshuaspence edited the test plan for this revision. (Show Details)

We're using this as part of our development workflow now and it's nice. It would be nice if it made use of our phpunit.xml configuration, but we can work around that for now. I hope this lands on master soon.

Thanks @joshuaspence!

This revision was automatically updated to reflect the committed changes.