~/talk

Growing the PHP Core – One Test at a Time

Talkat code.talks 2023 · 2023-09-14..09-15· [php, testing]
slides:none on file

Live demo builds PHP from master and runs the bundled test runner with make test -j10 on PHP 8.4, producing a summary of 18,577 suite tests, 30,102 executed, 4 failures, 7 expected failures and a 99.9% success rate in 34s. Explains the .phpt format and sections like --TEST--, --FILE--, --EXPECTF-- and the --ENV-- trick to inject HTTP_ACCEPT_ENCODING (necessary because superglobals use copy‑on‑write). Uses gcov to find uncovered ext/satellite code, adds phpt tests and lands PRs merged in PHP 7.3.

AI-written summary · about

  1. 0:00Introduction
  2. 3:00Setting up PHP and running tests
  3. 8:19PHP test structure
  4. 11:52Finding test areas
  5. 13:18Test for zlib encoding
  6. 19:53Debugging failure
  7. 25:09Lessons learned
  8. 26:55Benefits of tests
  9. 28:00Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.