[INFO] libgpiod test suite [INFO] 117 tests registered [INFO] checking the linux kernel version [INFO] kernel release is v5.0.1 - ok to run tests [INFO] checking gpio-mockup availability [INFO] gpio-mockup ok [INFO] running tests [TEST] 'gpiod_chip_open() - good': PASS [TEST] 'gpiod_chip_open() - nonexistent chip': PASS [TEST] 'gpiod_chip_open() - notty': PASS [TEST] 'gpiod_chip_open_by_name() - good': PASS [TEST] 'gpiod_chip_open_by_number() - good': PASS [TEST] 'gpiod_chip_open_lookup() - good': PASS [TEST] 'gpiod_chip_open_by_label() - good': PASS [TEST] 'gpiod_chip_open_by_label() - bad': PASS [TEST] 'gpiod_chip_name()': PASS [TEST] 'gpiod_chip_label()': PASS [TEST] 'gpiod_chip_num_lines()': PASS [TEST] 'gpiod_chip_get_lines()': PASS [TEST] 'gpiod_chip_get_all_lines()': PASS [TEST] 'gpiod_chip_find_line() - good': PASS [TEST] 'gpiod_chip_find_line() - not found': PASS [TEST] 'gpiod_chip_find_lines() - good': PASS [TEST] 'gpiod_chip_find_lines() - not found': PASS [TEST] 'ctxless set/get value - single line': PASS [TEST] 'ctxless set/get value - multiple lines': PASS [TEST] 'gpiod_ctxless_get_value_multiple() exceed max lines': PASS [TEST] 'gpiod_ctxless_set_value_multiple() exceed max lines': PASS [TEST] 'gpiod_ctxless_event_monitor() - single event': PASS [TEST] 'gpiod_ctxless_event_monitor() - specify event type': PASS [TEST] 'gpiod_ctxless_event_monitor_multiple() - single event': PASS [TEST] 'gpiod_ctxless_event_monitor() - error in callback': PASS [TEST] 'gpiod_ctxless_event_monitor() - error in callback after timeout': PASS [TEST] 'gpiod_ctxless_find_line() - good': PASS [TEST] 'gpiod_ctxless_find_line() - chip name truncated': PASS [TEST] 'gpiod_ctxless_find_line() - not found': PASS [TEST] 'events - receive single rising edge event': PASS [TEST] 'events - receive single falling edge event': PASS [TEST] 'events - request rising edge & ignore falling edge events': PASS [TEST] 'events - single rising edge event with low active state': PASS [TEST] 'events - mixing events and gpiod_line_get_value()': PASS [TEST] 'events - mixing events and gpiod_line_get_value() (active-low flag)': PASS [TEST] 'events - wait for events on multiple lines': PASS [TEST] 'events - gpiod_line_event_get_fd(): line requested for values': PASS [TEST] 'events - failed bulk request (test reversed release)': PASS [TEST] 'events - gpiod_line_event_wait() error on closed fd': PASS [TEST] 'gpiod_chip_iter - simple loop': PASS [TEST] 'gpiod_chip_iter - simple loop, noclose variant': PASS [TEST] 'gpiod_chip_iter - break': PASS [TEST] 'gpiod_line_iter - simple loop, check offsets': PASS [TEST] 'gpiod_line_request_output() - good': PASS [TEST] 'gpiod_line_request() - already requested': PASS [TEST] 'gpiod_line_consumer() - good': PASS [TEST] 'gpiod_line_consumer() - long consumer string': PASS [TEST] 'gpiod_line_request_bulk_output() - good': PASS [TEST] 'gpiod_line_request_bulk() - different chips': PASS [TEST] 'gpiod_line_request_bulk() - null default vals for output': PASS [TEST] 'gpiod_line_set_value() - good': PASS [TEST] 'gpiod_line_get_value_bulk() - different chips': PASS [TEST] 'gpiod_line_get() - good': PASS [TEST] 'gpiod_line_get() - invalid offset': PASS [TEST] 'gpiod_line_find() - good': PASS [TEST] 'gpiod_line_find() - not found': PASS [TEST] 'gpiod_line_find() - unnamed lines': PASS [TEST] 'gpiod_line_direction() - set & get': PASS [TEST] 'gpiod_line_active_state() - set & get': PASS [TEST] 'gpiod_line - misc flags': PASS [TEST] 'gpiod_line - open-source & open-drain for input mode (invalid)': PASS [TEST] 'gpiod_line - open-source & open-drain flags simultaneously': PASS [TEST] 'gpiod_line - request two, release one, use the other one': PASS [TEST] 'line request - NULL consumer string': PASS [TEST] 'line request - empty consumer string': PASS [TEST] 'line bulk - iterate over all lines': PASS [TEST] 'gpiod_version_string()': PASS [TEST] 'tools: gpiodetect - simple': PASS [TEST] 'tools: gpiodetect - invalid arguments': PASS [TEST] 'tools: gpiofind - found': PASS [TEST] 'tools: gpiofind - not found': PASS [TEST] 'tools: gpiofind - invalid arguments': PASS [TEST] 'tools: gpioget - read all lines': PASS [TEST] 'tools: gpioget - read all lines (active-low)': PASS [TEST] 'tools: gpioget - read some lines': PASS [TEST] 'tools: gpioget - no arguments': PASS [TEST] 'tools: gpioget - no lines specified': PASS [TEST] 'tools: gpioget - too many lines specified': PASS [TEST] 'tools: gpioinfo - dump all chips': PASS [TEST] 'tools: gpioinfo - dump all chips (one line exported)': PASS [TEST] 'tools: gpioinfo - dump one chip': PASS [TEST] 'tools: gpioinfo - dump all but one chip': PASS [TEST] 'tools: gpioinfo - inexistent chip': PASS [TEST] 'tools: gpiomon - single rising edge event': PASS [TEST] 'tools: gpiomon - single rising edge event (active-low)': PASS [TEST] 'tools: gpiomon - single rising edge event (silent mode)': PASS [TEST] 'tools: gpiomon - four alternating events': PASS [TEST] 'tools: gpiomon - receive falling edge events and kill with SIGINT': FAILED: 'tools: gpiomon - receive falling edge events and kill with SIGINT': assertion failed (tests-gpiomon.c:96): 'test_tool_exited()' [TEST] 'tools: gpiomon - receive both types of events and kill with SIGTERM': FAILED: 'tools: gpiomon - receive both types of events and kill with SIGTERM': assertion failed (tests-gpiomon.c:116): 'test_tool_exited()' [TEST] 'tools: gpiomon - watch multiple lines': FAILED: 'tools: gpiomon - watch multiple lines': assertion failed (tests-gpiomon.c:142): 'test_tool_exited()' [TEST] 'tools: gpiomon - watch multiple lines (offsets not in order)': FAILED: 'tools: gpiomon - watch multiple lines (offsets not in order)': assertion failed (tests-gpiomon.c:166): 'test_tool_exited()' [TEST] 'tools: gpiomon - request the same line twice': PASS [TEST] 'tools: gpiomon - no arguments': PASS [TEST] 'tools: gpiomon - line not specified': PASS [TEST] 'tools: gpiomon - line out of range': PASS [TEST] 'tools: gpiomon - custom output format: event and offset': PASS [TEST] 'tools: gpiomon - custom output format: event and offset, joined strings': PASS [TEST] 'tools: gpiomon - custom output format: timestamp': PASS [TEST] 'tools: gpiomon - custom output format: double percent sign': PASS [TEST] 'tools: gpiomon - custom output format: double percent sign with specifier': PASS [TEST] 'tools: gpiomon - custom output format: single percent sign': PASS [TEST] 'tools: gpiomon - custom output format: single percent sign between other characters': PASS [TEST] 'tools: gpiomon - custom output format: unknown specifier': PASS [TEST] 'tools: gpioset - set lines and exit': PASS [TEST] 'tools: gpioset - set lines and exit (active-low)': PASS [TEST] 'tools: gpioset - set lines and exit (explicit mode argument)': PASS [TEST] 'tools: gpioset - set some lines and wait for enter': PASS [TEST] 'tools: gpioset - set some lines and wait for signal': FAILED: 'tools: gpioset - set some lines and wait for signal': assertion failed (tests-gpioset.c:187): 'test_tool_exited()' [TEST] 'tools: gpioset - set some lines and wait for specified time': PASS [TEST] 'tools: gpioset - no arguments': PASS [TEST] 'tools: gpioset - no lines specified': PASS [TEST] 'tools: gpioset - too many lines specified': PASS [TEST] 'tools: gpioset - using --sec/--usec with mode other than 'time'': PASS [TEST] 'tools: gpioset - invalid offset<->value mapping': PASS [TEST] 'tools: gpioset - value different than 0 or 1': PASS [TEST] 'tools: gpioset - invalid offset': PASS [TEST] 'tools: gpioset - daemonize in wrong mode': PASS [ERROR] 5 out of 117 tests failed [INFO] cleaning up