Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make failing test not hang #4622

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Nov 4, 2023

  1. The tests/test_radio_dish test implements is_multicast_available() to

    verify that multicast is working on the system before running tests
    that relies on this, or skipping those test otherwise.
    
    In some circumstances this check itself hangs due to the recvfrom()
    call being blocking waiting for data. The test is eventually killed
    with a SIGALARM signal.
    
    ./config/test-driver: line 112: 1227308 Alarm clock             "$@" >> "$log_file" 2>&1
    FAIL: tests/test_radio_dish
    
    FAIL: tests/test_radio_dish
    ===========================
    
    FAIL tests/test_radio_dish (exit status: 142)
    
    $ tests/test_radio_dish
    tests/test_radio_dish.cpp:511:test_leave_unjoined_fails:PASS
    tests/test_radio_dish.cpp:512:test_join_too_long_fails:PASS
    tests/test_radio_dish.cpp:513:test_long_group:PASS
    tests/test_radio_dish.cpp:514:test_join_twice_fails:PASS
    tests/test_radio_dish.cpp:515:test_radio_bind_fails_ipv4:PASS
    tests/test_radio_dish.cpp:516:test_radio_bind_fails_ipv6:PASS
    tests/test_radio_dish.cpp:517:test_dish_connect_fails_ipv4:PASS
    tests/test_radio_dish.cpp:518:test_dish_connect_fails_ipv6:PASS
    tests/test_radio_dish.cpp:519:test_radio_dish_tcp_poll_ipv4:PASS
    tests/test_radio_dish.cpp:520:test_radio_dish_tcp_poll_ipv6:PASS
    tests/test_radio_dish.cpp:521:test_radio_dish_udp_ipv4:PASS
    tests/test_radio_dish.cpp:522:test_radio_dish_udp_ipv6:PASS
    Alarm clock
    
    With this commit, making the recvfrom() call non-blocking. The test
    does noy hang, and the non-available multicast is detected and the
    tests needing it are skipped:
    
    PASS: tests/test_radio_dish
    
    $ tests/test_radio_dish
    tests/test_radio_dish.cpp:510:test_leave_unjoined_fails:PASS
    tests/test_radio_dish.cpp:511:test_join_too_long_fails:PASS
    tests/test_radio_dish.cpp:512:test_long_group:PASS
    tests/test_radio_dish.cpp:513:test_join_twice_fails:PASS
    tests/test_radio_dish.cpp:514:test_radio_bind_fails_ipv4:PASS
    tests/test_radio_dish.cpp:515:test_radio_bind_fails_ipv6:PASS
    tests/test_radio_dish.cpp:516:test_dish_connect_fails_ipv4:PASS
    tests/test_radio_dish.cpp:517:test_dish_connect_fails_ipv6:PASS
    tests/test_radio_dish.cpp:518:test_radio_dish_tcp_poll_ipv4:PASS
    tests/test_radio_dish.cpp:519:test_radio_dish_tcp_poll_ipv6:PASS
    tests/test_radio_dish.cpp:520:test_radio_dish_udp_ipv4:PASS
    tests/test_radio_dish.cpp:521:test_radio_dish_udp_ipv6:PASS
    tests/test_radio_dish.cpp:431:test_radio_dish_mcast_ipv4:IGNORE: No multicast available
    tests/test_radio_dish.cpp:431:test_radio_dish_no_loop_ipv4:IGNORE: No multicast available
    tests/test_radio_dish.cpp:431:test_radio_dish_mcast_ipv6:IGNORE: No multicast available
    tests/test_radio_dish.cpp:431:test_radio_dish_no_loop_ipv6:IGNORE: No multicast available
    
    -----------------------
    16 Tests 0 Failures 4 Ignored
    OK
    ellert committed Nov 4, 2023
    Configuration menu
    Copy the full SHA
    dcc0fbc View commit details
    Browse the repository at this point in the history