ext/sockets/tests/bug63000.phpt fails when multicast disabled
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C
- Estrellas
- 40.4k
- Forks
- 8.1k
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 96
Descripción
Description
This test tries to set a multicast socket option,
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '0.0.0.0', 31057);
$so = socket_set_option($socket, IPPROTO_IP, MCAST_JOIN_GROUP, array(
"group" => '224.0.0.251',
"interface" => 0,
));
var_dump($so);
but even on Linux, the ability to do so is not guaranteed. For example, if you run the test in its own network namespace,
$ unshare -n sapi/cli/php ./run-tests.php ext/sockets/tests/bug63000.phpt
you'll get an error,
---- EXPECTED OUTPUT
bool(true)
---- ACTUAL OUTPUT
Warning: socket_set_option(): Unable to set socket option [19]: No such device in ...bug63000.php on line 5
bool(false)
---- FAILED
The reason is that multicast first has to be enabled on a "new" network interface. Specifically, both of the following seem necessary,
$ ifconfig lo multicast
$ route add -net 224.0.0.0 netmask 224.0.0.0 lo
before the test will work.
I'm not really sure what the best way around this is. A simpler test for basic multicast support in SKIPIF?
PHP Version
php-8.2.8
Operating System
No response
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con ext/sockets/tests/bug63000.phpt y ejecútalo mediante sapi/cli/php con run-tests.php, incluido el caso unshare -n descrito en el issue. Revisa el comportamiento existente de la prueba y haz que su resultado sea apropiado cuando multicast no esté disponible, manteniendo la cobertura cuando multicast sea compatible.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php
- Área
- networking, testing-qa
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100