[Bug]: [macOS] php 8.5 & phpunit process isolation gives serialisation error
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- macos, php
- Ambito
- operating-systems, testing-qa
Direzione di ricerca
Inizia con la riproduzione fornita in Tests\Unit\ExampleTest su macOS Tahoe con Herd 1.28.0, PHP 8.5.4 e PHPUnit 12.5.16; confronta il comportamento con PreserveGlobalState(true) e senza. Il lavoro è completato quando i test isolati per processo preservano lo stato globale rilevante senza l'avviso di serializzazione di __herd_closure.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Platform
macOS
Operating system version
macOs Tahoe 26.3.1
System architecture
ARM64 (M1, M2, etc)
Herd Version
1.28.0
PHP Version
PHP 8.5.4
Bug description
With phpunit 12.5.16 and Herd 1.28.0
Tests that have:
#[RunTestsInSeparateProcesses]
#[PreserveGlobalState(true)]
Give this warning: Global variable $GLOBALS['__herd_closure'] was not preserved because it is a Closure.
When i remove #[PreserveGlobalState(true)] it will work without problems.
Steps to reproduce
<?php
namespace Tests\Unit;
use PHPUnit\Framework\Attributes\PreserveGlobalState;
use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
use PHPUnit\Framework\TestCase;
#[RunTestsInSeparateProcesses]
#[PreserveGlobalState(true)]
class ExampleTest extends TestCase
{
public function test_that_true_is_true(): void
{
$this->assertTrue(true);
}
}
Gives:
WARN Tests\Unit\ExampleTest
! that true is true → Global variable $GLOBALS['__herd_closure'] was not preserved because it is a Closure
Relevant log output
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 123
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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.
Altre issue di beyondcode/herd-community
-
[Bug]: PHP 8.3 php.ini missing auto_prepend_file and herd-ext extension lines (dump() undefined)ApertamacOS
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
beyondcode/herd-community#1693 ·
-
macOS
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
beyondcode/herd-community#1602 ·
-
[Bug]: 1.30.2 creates PHP 8.2 config and ~/.zshrc lines on every start, although 8.2 isn't installedApertafixed-in-next-release macOS
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
beyondcode/herd-community#1763 · 2 commenti ·
-
fixed-in-next-release macOS
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
beyondcode/herd-community#1760 ·
-
macOS
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
beyondcode/herd-community#1755 ·
Tutte le issue di beyondcode/herd-community
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
bradcypert/plum#240 ·
I maintainer di solito rispondono entro 1 giorno
-
Add KestrelAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
jubalh/awesome-os#135 ·
-
[Bug]hl_get_ustring() dereferences a NULL code->ustrings when the string table is empty (CWE-476)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
HaxeFoundation/hashlink#997 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
TNG/oh-my-agentic-coder#357 ·
I maintainer di solito rispondono entro 1 giorno
-
Bluetooth can't be turned back on from the bar on ThinkPads: rfkill block removes the adapterAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno