Automattic / Automattic/wp-codebox
Real-WordPress PHP smoke harness needs a deterministic bootstrap contract
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 17
- Fork
- 4
- Merge medio
- 59m
- PR unite (30g)
- 131
Descrizione
## Problem
The real-WordPress smoke execution environment can have WordPress functions loaded without the smoke being able to rely on the usual bootstrap markers. In Data Machine PR CI, a pure-PHP smoke guarded on `defined( 'WPINC' )`, but WP functions such as `do_action()` were already loaded, causing:
`Cannot redeclare do_action() (previously declared in /wordpress/wp-includes/plugin.php)`
This required changing the smoke to guard every stub with `function_exists()`. That is reasonable defensively, but the harness contract is ambiguous.
## Expected
WP Codebox should document and/or enforce a deterministic contract for real-WordPress PHP smoke execution:
- whether WordPress is fully bootstrapped
- whether `WPINC`/`ABSPATH` are defined
- whether core functions are loaded
- whether pure-PHP smoke files should be skipped, isolated, or run in a non-WP process
## Why
Ambiguous partial bootstrap makes standalone smoke tests brittle and creates CI-only failures that are hard to reproduce locally.
## Evidence
Data Machine PR: https://github.com/Extra-Chill/data-machine/pull/2638
Initial failure: `tests/adjacent-handler-tool-policy-smoke.php` redeclared `do_action()` under WP Codebox real-WP host smoke execution.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia tracciando il percorso di esecuzione dello smoke test dell’host WordPress reale e leggi tests/adjacent-handler-tool-policy-smoke.php insieme alle evidenze del PR di Data Machine. Determina se l’harness viene avviato completamente, quali marker e funzioni del core sono disponibili e se gli smoke test in puro PHP vengono saltati, isolati o eseguiti separatamente. Il lavoro è completato quando il contratto è documentato o applicato e il fallimento dovuto alla redeclaration durante un bootstrap parziale è coperto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- php, wordpress
- Ambito
- testing, tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100