libuv: Test failures on OpenBSD
Hi,
I’m trying to get neovim into OpenBSD ports. libuv is the final dependency that needs to be ported. It builds but has 5 test failures which would need to be fixed before we can import it. See below the output from running the test suite from 1.11.0 on OpenBSD-current/amd64.
Thanks
ok 1 - platform_output
# Output from process `platform_output`:
# uv_get_process_title: /usr/local/pobj/libuv-1.11.0/libuv-v1.11.0/test/.libs/run-tests
# uv_cwd: /usr/local/pobj/libuv-1.11.0/libuv-v1.11.0
# uv_resident_set_memory: 1515520
# uv_uptime: 97099.000000
# uv_getrusage:
# user: 0 sec 10000 microsec
# system: 0 sec 0 microsec
# page faults: 3
# maximum resident set size: 1484
# uv_cpu_info:
# model: Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
# speed: 3301
# times.sys: 220440
# times.user: 248150
# times.idle: 43157030
# times.irq: 126400
# times.nice: 243920
# model: Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
# speed: 3301
# times.sys: 636580
# times.user: 625760
# times.idle: 42395290
# times.irq: 0
# times.nice: 332170
# model: Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
# speed: 3301
# times.sys: 833800
# times.user: 802910
# times.idle: 41750950
# times.irq: 0
# times.nice: 602120
# model: Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
# speed: 3301
# times.sys: 445620
# times.user: 442120
# times.idle: 42735860
# times.irq: 0
# times.nice: 365880
# uv_interface_addresses:
# name: lo0
# internal: 1
# physical address: 00:00:00:00:00:00
# address: 127.0.0.1
# netmask: none
# name: re0
# internal: 0
# physical address: 54:04:a6:7f:0f:5e
# address: 192.168.1.199
# netmask: none
# uv_os_get_passwd:
# euid: 1000
# gid: 1000
# username: edd
# shell: /usr/local/bin/zsh
# home directory: /home/edd
ok 2 - close_order
ok 3 - run_once
ok 4 - run_nowait
ok 5 - loop_alive
ok 6 - loop_close
ok 7 - loop_stop
ok 8 - loop_update_time
ok 9 - loop_backend_timeout
ok 10 - loop_configure
ok 11 - default_loop_close
ok 12 - barrier_1
ok 13 - barrier_2
ok 14 - barrier_3
ok 15 - condvar_1
ok 16 - condvar_2
ok 17 - condvar_3
ok 18 - condvar_4
ok 19 - condvar_5
ok 20 - semaphore_1
ok 21 - semaphore_2
ok 22 - semaphore_3
ok 23 - pipe_connect_bad_name
ok 24 - pipe_connect_to_file
ok 25 - pipe_connect_on_prepare
ok 26 - pipe_server_close
ok 27 - pipe_close_stdout_read_stdin
ok 28 - pipe_set_non_blocking
ok 29 - tty
ok 30 - tty_file
ok 31 - tty_pty
ok 32 - stdio_over_pipes
ok 33 - ip6_pton
ok 34 - ipc_listen_before_write
ok 35 - ipc_listen_after_write
ok 36 - ipc_send_recv_pipe
ok 37 - ipc_send_recv_pipe_inprocess
ok 38 - ipc_send_recv_tcp
ok 39 - ipc_send_recv_tcp_inprocess
ok 40 - ipc_tcp_connection
ok 41 - tcp_alloc_cb_fail
ok 42 - tcp_ping_pong
ok 43 - tcp_ping_pong_v6 # SKIP IPv6 not supported
ok 44 - pipe_ping_pong
ok 45 - delayed_accept
ok 46 - multiple_listen
ok 47 - tcp_write_after_connect
ok 48 - tcp_writealot
ok 49 - tcp_write_fail
ok 50 - tcp_try_write
ok 51 - tcp_write_queue_order
ok 52 - tcp_open
ok 53 - tcp_open_twice
ok 54 - tcp_shutdown_after_write
ok 55 - tcp_connect_error_after_write
ok 56 - tcp_bind_error_addrinuse
ok 57 - tcp_bind_error_addrnotavail_1
ok 58 - tcp_bind_error_addrnotavail_2
ok 59 - tcp_bind_error_fault
ok 60 - tcp_bind_error_inval
ok 61 - tcp_bind_localhost_ok
ok 62 - tcp_bind_invalid_flags
ok 63 - tcp_listen_without_bind
ok 64 - tcp_connect_error_fault
ok 65 - tcp_connect_timeout
ok 66 - tcp_close_while_connecting
ok 67 - tcp_close
ok 68 - tcp_create_early
ok 69 - tcp_create_early_bad_bind # SKIP IPv6 not supported
ok 70 - tcp_create_early_bad_domain
ok 71 - tcp_create_early_accept
ok 72 - tcp_close_accept
ok 73 - tcp_oob
ok 74 - tcp_flags
ok 75 - tcp_write_to_half_open_connection
ok 76 - tcp_unexpected_read
ok 77 - tcp_read_stop
ok 78 - tcp_bind6_error_addrinuse # SKIP IPv6 not supported
ok 79 - tcp_bind6_error_addrnotavail # SKIP IPv6 not supported
ok 80 - tcp_bind6_error_fault # SKIP IPv6 not supported
ok 81 - tcp_bind6_error_inval # SKIP IPv6 not supported
ok 82 - tcp_bind6_localhost_ok # SKIP IPv6 not supported
ok 83 - udp_alloc_cb_fail
ok 84 - udp_bind
ok 85 - udp_bind_reuseaddr
ok 86 - udp_create_early
ok 87 - udp_create_early_bad_bind # SKIP IPv6 not supported
ok 88 - udp_create_early_bad_domain
ok 89 - udp_send_and_recv
ok 90 - udp_send_immediate
ok 91 - udp_send_unreachable
ok 92 - udp_dgram_too_big
ok 93 - udp_dual_stack # SKIP IPv6 not supported
ok 94 - udp_ipv6_only # SKIP IPv6 not supported
ok 95 - udp_options
ok 96 - udp_options6 # SKIP IPv6 not supported
ok 97 - udp_no_autobind
ok 98 - udp_multicast_interface
ok 99 - udp_multicast_interface6 # SKIP IPv6 not supported
ok 100 - udp_multicast_join
ok 101 - udp_multicast_join6 # SKIP IPv6 not supported
ok 102 - udp_multicast_ttl
ok 103 - udp_try_send
ok 104 - udp_open
ok 105 - udp_open_twice
ok 106 - pipe_bind_error_addrinuse
ok 107 - pipe_bind_error_addrnotavail
ok 108 - pipe_bind_error_inval
ok 109 - pipe_connect_multiple
ok 110 - pipe_listen_without_bind
ok 111 - pipe_getsockname
ok 112 - pipe_getsockname_abstract
ok 113 - pipe_getsockname_blocking
ok 114 - pipe_pending_instances
ok 115 - pipe_sendmsg
ok 116 - connection_fail
ok 117 - connection_fail_doesnt_auto_close
ok 118 - shutdown_close_tcp
ok 119 - shutdown_close_pipe
ok 120 - shutdown_eof
ok 121 - shutdown_twice
ok 122 - callback_stack
ok 123 - error_message
ok 124 - sys_error
ok 125 - timer
ok 126 - timer_init
ok 127 - timer_again
ok 128 - timer_start_twice
ok 129 - timer_order
ok 130 - timer_huge_timeout
ok 131 - timer_huge_repeat
ok 132 - timer_run_once
ok 133 - timer_from_check
ok 134 - timer_null_callback
ok 135 - timer_early_check
ok 136 - idle_starvation
ok 137 - ref
ok 138 - idle_ref
ok 139 - fs_poll_ref
ok 140 - async_ref
ok 141 - prepare_ref
ok 142 - check_ref
ok 143 - unref_in_prepare_cb
ok 144 - timer_ref
ok 145 - timer_ref2
ok 146 - fs_event_ref
ok 147 - tcp_ref
ok 148 - tcp_ref2
ok 149 - tcp_ref2b
ok 150 - tcp_ref3
ok 151 - tcp_ref4
ok 152 - udp_ref
ok 153 - udp_ref2
ok 154 - udp_ref3
ok 155 - pipe_ref
ok 156 - pipe_ref2
ok 157 - pipe_ref3
ok 158 - pipe_ref4
ok 159 - process_ref
ok 160 - has_ref
ok 161 - loop_handles
ok 162 - walk_handles
ok 163 - watcher_cross_stop # SKIP File descriptor limit too low.
ok 164 - active
ok 165 - embed
ok 166 - async
ok 167 - async_null_cb
ok 168 - eintr_handling
ok 169 - get_currentexe
not ok 170 - process_title
# exit code 139
# Output from process `process_title`: (no output)
ok 171 - cwd_and_chdir
ok 172 - get_memory
ok 173 - get_passwd
ok 174 - get_loadavg
ok 175 - handle_fileno
ok 176 - homedir
ok 177 - tmpdir
ok 178 - hrtime
not ok 179 - getaddrinfo_fail
# exit code 134
# Output from process `getaddrinfo_fail`:
# Assertion failed in test/test-getaddrinfo.c on line 43: status < 0
not ok 180 - getaddrinfo_fail_sync
# exit code 134
# Output from process `getaddrinfo_fail_sync`:
# Assertion failed in test/test-getaddrinfo.c on line 117: 0 > uv_getaddrinfo(uv_default_loop(), &req, NULL, "xyzzy.xyzzy.xyzzy.", NULL, NULL)
ok 181 - getaddrinfo_basic
ok 182 - getaddrinfo_basic_sync
ok 183 - getaddrinfo_concurrent
ok 184 - getnameinfo_basic_ip4
ok 185 - getnameinfo_basic_ip4_sync
ok 186 - getnameinfo_basic_ip6
ok 187 - getsockname_tcp
ok 188 - getsockname_udp
ok 189 - poll_duplex
ok 190 - poll_unidirectional
ok 191 - poll_close
not ok 192 - poll_bad_fdtype
# exit code 134
# Output from process `poll_bad_fdtype`:
# Assertion failed in test/test-poll.c on line 607: 0 != uv_poll_init(uv_default_loop(), &poll_handle, fd)
not ok 193 - poll_nested_kqueue
# exit code 134
# Output from process `poll_nested_kqueue`:
# Assertion failed in test/test-poll.c on line 646: 0 == uv_poll_init(uv_default_loop(), &poll_handle, fd)
ok 194 - socket_buffer_size
ok 195 - spawn_fails
ok 196 - spawn_fails_check_for_waitpid_cleanup
ok 197 - spawn_exit_code
ok 198 - spawn_stdout
ok 199 - spawn_stdin
ok 200 - spawn_stdio_greater_than_3
ok 201 - spawn_ignored_stdio
ok 202 - spawn_and_kill
ok 203 - spawn_detached
ok 204 - spawn_and_kill_with_std
ok 205 - spawn_and_ping
ok 206 - spawn_preserve_env
ok 207 - spawn_setuid_fails
ok 208 - spawn_setgid_fails
ok 209 - spawn_stdout_to_file
ok 210 - spawn_stdout_and_stderr_to_file
ok 211 - spawn_stdout_and_stderr_to_file2
ok 212 - spawn_stdout_and_stderr_to_file_swap
ok 213 - spawn_auto_unref
ok 214 - spawn_closed_process_io
ok 215 - spawn_reads_child_path
ok 216 - spawn_inherit_streams
ok 217 - fs_poll
ok 218 - fs_poll_getpath
ok 219 - kill
ok 220 - poll_close_doesnt_corrupt_stack # SKIP Test only relevant on Windows
ok 221 - poll_closesocket # SKIP Test only relevant on Windows
ok 222 - emfile
ok 223 - close_fd
ok 224 - spawn_fs_open
ok 225 - spawn_setuid_setgid # SKIP It should be run as root user
ok 226 - we_get_signal
ok 227 - we_get_signals
ok 228 - signal_multiple_loops
ok 229 - closed_fd_events
ok 230 - fs_file_noent
ok 231 - fs_file_nametoolong
ok 232 - fs_file_loop
ok 233 - fs_file_async
ok 234 - fs_file_sync
ok 235 - fs_file_write_null_buffer
ok 236 - fs_async_dir
ok 237 - fs_async_sendfile
ok 238 - fs_mkdtemp
ok 239 - fs_fstat
ok 240 - fs_access
ok 241 - fs_chmod
ok 242 - fs_unlink_readonly
ok 243 - fs_chown
ok 244 - fs_utime
ok 245 - fs_futime
ok 246 - fs_readlink
not ok 247 - fs_realpath
# exit code 134
# Output from process `fs_realpath`:
# Assertion failed in test/test-fs.c on line 1627: req.ptr == NULL
ok 248 - fs_symlink
ok 249 - fs_symlink_dir
ok 250 - fs_stat_missing_path
ok 251 - fs_read_file_eof
ok 252 - fs_file_open_append
ok 253 - fs_event_watch_dir
ok 254 - fs_event_watch_dir_recursive # SKIP Recursive directory watching not supported on this platform.
ok 255 - fs_event_watch_file
ok 256 - fs_event_watch_file_exact_path
ok 257 - fs_event_watch_file_twice
ok 258 - fs_event_watch_file_current_dir
ok 259 - fs_event_no_callback_after_close
ok 260 - fs_event_no_callback_on_close
ok 261 - fs_event_immediate_close
ok 262 - fs_event_close_with_pending_event
ok 263 - fs_event_close_in_callback
ok 264 - fs_event_start_and_close
ok 265 - fs_event_error_reporting
ok 266 - fs_event_getpath
ok 267 - fs_scandir_empty_dir
ok 268 - fs_scandir_non_existent_dir
ok 269 - fs_scandir_file
ok 270 - fs_open_dir
ok 271 - fs_rename_to_existing_file
ok 272 - fs_write_multiple_bufs
ok 273 - fs_write_alotof_bufs
ok 274 - fs_write_alotof_bufs_with_offset
ok 275 - fs_read_write_null_arguments
ok 276 - threadpool_queue_work_simple
ok 277 - threadpool_queue_work_einval
ok 278 - threadpool_multiple_event_loops
ok 279 - threadpool_cancel_getaddrinfo
ok 280 - threadpool_cancel_getnameinfo
ok 281 - threadpool_cancel_work
ok 282 - threadpool_cancel_fs
ok 283 - threadpool_cancel_single
ok 284 - thread_local_storage
ok 285 - thread_stack_size # SKIP OSX only test
ok 286 - thread_mutex
ok 287 - thread_rwlock
ok 288 - thread_rwlock_trylock
ok 289 - thread_create
ok 290 - thread_equal
ok 291 - dlerror
ok 292 - ip4_addr
ok 293 - ip6_addr_link_local
ok 294 - queue_foreach_delete
FAIL: test/run-tests
======================================================
1 of 1 test failed
Please report to https://github.com/libuv/libuv/issues
======================================================
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 18 (15 by maintainers)
Commits related to this issue
- devel/libuv: update to 1.11.0. Still has test failures: https://github.com/libuv/libuv/issues/1216 — committed to jasperla/openbsd-wip by vext01 7 years ago
- test: fix tests on OpenBSD It fixes `process_title`, `poll_bad_fdtype` and `poll_nested_kqueue` tests. Fixes: https://github.com/libuv/libuv/issues/1216 PR-URL: https://github.com/libuv/libuv/pull/1... — committed to santigimeno/libuv by santigimeno 7 years ago
- test: fix tests on OpenBSD It fixes `process_title`, `poll_bad_fdtype` and `poll_nested_kqueue` tests. Fixes: https://github.com/libuv/libuv/issues/1216 PR-URL: https://github.com/libuv/libuv/pull/1... — committed to santigimeno/libuv by santigimeno 7 years ago
- Work around #1216 Temporary workaround for #1216 on OpenBSD. Upstreamed from the OpenBSD Ports Collection. — committed to ararslan/libuv by ararslan 6 years ago
- Work around #1216 Temporary workaround for #1216 on OpenBSD. Upstreamed from the OpenBSD Ports Collection. — committed to ararslan/libuv by ararslan 6 years ago
Last time I looked into this what I did to make
uv_fs_realpath()behave as in other platforms was to copy theFreeBSDrealpath implementation. This worked just fine but I don’t know if this would be acceptable.From
realpath(3): “All but the last component of pathname must exist when realpath() is called.”.Making them all the same seems like the fix to me.