~/talk

Growing the PHP Core One test at a Time

Talkat CakeFest 2024 · 2024-07-24..07-26· [php, testing]
slides:none on file

Live-codes a real PHP core test: clones and builds PHP from GitHub, runs make test -j20, and shows runs with ~177k then ~194.5k phpt tests (99.7% passing in one run, four failures in another). Demonstrates the phpt file format, uses the environment-section to set HTTP_ACCEPT_ENCODING because copy-on-write superglobals prevent runtime mutation, and encounters ini_set header restrictions. Writes three tests for zend_get_coding_type (gzip/deflate/none), merges them into PHP, and confirms coverage moves from uncovered to covered.

AI-written summary · about

  1. 0:00Introduction to PHP contributions
  2. 4:40PHP TestFest discovery
  3. 5:45Setting up PHP test environment
  4. 7:51Understanding PHPT test format
  5. 14:16Live PHP test execution demo
  6. 18:31Writing test for gzip coding type
  7. 23:12Debugging test failures
  8. 27:25Investigating PHP internals
  9. 31:23Lessons learned from testing
  10. 34:51Benefits of contributing tests
  11. 35:11Resources for further learning
  12. 35:40Q&A session
~/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.