php / php/php-src

run-tests.php: Add a flag similar to --asan that skips tests when run under Valgrind

Offen
#14,805 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Category: Tests Feature
Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.1k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
96

Beschreibung

Description

I just ran 11k tests under Valgrind to try and find issues with one of my big PRs, and any test excepting an OOM failure will either time out or use all the memory before being killed.

It would be great if those could be skipped and not accidentally triggered.

Some relevant tests:

  • ext/standard/tests/gh14643_longname.phpt
  • Zend/tests/bug79836_4.phpt
  • tests/basic/bug67198.phpt (maybe)
  • tests/basic/enable_post_data_reading_05.phpt (maybe)

Other tests are those opening PHP procs and timing out:

  • ext/standard/tests/file/proc_open01.phpt
  • ext/standard/tests/http/gh11274.phpt
  • ext/standard/tests/streams/bug64433.phpt
  • ext/standard/tests/url/get_headers_error_003.phpt

And some tests seem to be bogus with Valgrind or an issue that we cannot fix:

  • ext/standard/tests/mail/mail_basic2.phpt
  • ext/standard/tests/mail/mail_variation2.phpt

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in run-tests.php damit, zu lesen, wie das vorhandene Flag --asan geparst und angewendet wird. Führe die aufgeführten .phpt-Tests unter Valgrind aus, um die problematischen Fälle zu bestätigen, und überprüfe anschließend, dass das neue Valgrind-bezogene Flag die vorgesehenen Tests überspringt, ohne normale Testläufe zu beeinflussen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
testing-qa
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
50/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.