History log of /libuv/test/test-ref.c (Results 1 – 25 of 34)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 9b3b61f6 05-Aug-2024 Matheus Izvekov

build: ubsan fixes (#4254)

MSVC does not actually support ubsan. There is a long-standing ticket
requesting this:
https://developercommunity.visualstudio.com/t/add-support-for-ubsan/

build: ubsan fixes (#4254)

MSVC does not actually support ubsan. There is a long-standing ticket
requesting this:
https://developercommunity.visualstudio.com/t/add-support-for-ubsan/840750

There are no known compilers that currently accept the
`/fsanitize=undefined` spelling. clang-cl accepts `-fsanitize...`,
same as regular clang.

Also passes no-sanitizer-recover so that tests actually fail.

Fix various ubsan-detected errors, including:

* win: fix req-inl.h ubsan failure

Don't use CONTAINING_RECORD macro from WinSDK, as it doesn't use the
right trick which avoids member access on null pointer.

Fixes:
```
src/win/req-inl.h:86:10: runtime error: member access within null pointer of type 'uv_req_t' (aka 'struct uv_req_s')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior D:/a/libuv/libuv/src/win/req-inl.h:86:10
```

* test: fix ubsan failure on udp_ref3

Don't call functions through different function type.

Fixes:
```
src/win/udp.c:537:5: runtime error: call to function req_cb through pointer to incorrect function type 'void (*)(struct uv_udp_send_s *, int)'
test\test-ref.c:66: note: req_cb defined here
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/win/udp.c:537:5 in
```

* win: fix process-stdio.c ubsan failure

When accessing HANDLEs within the stdio buffer, use memcpy / memset in order to respect alignment.

Fixes:
```
src/win/process-stdio.c:197:5: runtime error: store to misaligned address 0x0230ee72d107 for type 'HANDLE' (aka 'void *'), which requires 8 byte alignment
0x0230ee72d107: note: pointer points here
00 00 cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd fd fd fd fd
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/win/process-stdio.c:197:5 in
```

* win: fix getaddrinfo.c ubsan failure

Reworks buffer alignment handling to respect requirements.

Fixes:
```
src/win/getaddrinfo.c:157:23: runtime error: member access within misaligned address 0x0290e4c6a17c for type 'struct addrinfo', which requires 8 byte alignment
0x0290e4c6a17c: note: pointer points here
00 00 00 00 cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/win/getaddrinfo.c:157:23 in
```

* win: fix pipe.c ubsan failure

Changes "random" representation from pointer to number.

Fixes:
```
src/win/pipe.c:234:11: runtime error: applying non-zero offset to non-null pointer 0xffffffffffffffff produced null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/win/pipe.c:234:11 in
```

* unix: fix stream.c ubsan failure

Avoids performing pointer arithmetic on null pointer.

Fixes:
```
src/unix/stream.c:701:15: runtime error: applying zero offset to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Users/runner/work/libuv/libuv/src/unix/stream.c:701:15 in
```

show more ...


# 011a1ac1 06-Oct-2023 Pleuvens

test: switch to new-style ASSERT_EQ macros (#4159)

Switch from old-style ASSERT macro to new-style ASSERT_EQ,... macros.

Using new-style macros makes it easier to debug test failure

test: switch to new-style ASSERT_EQ macros (#4159)

Switch from old-style ASSERT macro to new-style ASSERT_EQ,... macros.

Using new-style macros makes it easier to debug test failures

Fixes: https://github.com/libuv/libuv/issues/2974

show more ...


# 91a7e498 12-Mar-2023 Trevor Norris

test: silence more valgrind warnings (#3917)

Pass the loop to MAKE_VALGRIND_HAPPY() so it's explicit on which loop
needs to be cleaned up. Since it asserts on uv_loop_close(), need to

test: silence more valgrind warnings (#3917)

Pass the loop to MAKE_VALGRIND_HAPPY() so it's explicit on which loop
needs to be cleaned up. Since it asserts on uv_loop_close(), need to
remove a couple of those that were being done before the call.

Cleanup where loop was assigned, so the entire test either uses loop or
uv_default_loop(). Not both.

Also take care of any reqs that may have been left uncleaned.

show more ...


Revision tags: v1.41.0
# 270d0518 29-Dec-2020 tjarlama

test: move to ASSERT_NULL and ASSERT_NOT_NULL test macros

Moving to new style test macros will make debugging easier in case
of test failure and improve redability. This commit will repl

test: move to ASSERT_NULL and ASSERT_NOT_NULL test macros

Moving to new style test macros will make debugging easier in case
of test failure and improve redability. This commit will replace all
ASSERT macros matching the statement:
`ASSERT(identifier (== or !=) value);`
to:
`ASSERT_(NOT_)NULL(identifier);`

Refs: https://github.com/libuv/libuv/issues/2974
PR-URL: https://github.com/libuv/libuv/pull/3081
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>

show more ...


Revision tags: v1.40.0, v1.39.0, v1.38.1, v1.38.0, v1.37.0, v1.36.0, v1.35.0, v1.34.2, v1.34.1, v1.34.0, v1.33.1, v1.33.0, v1.32.0, v1.31.0, v1.30.1, v1.30.0, v1.29.1, v1.29.0, v1.28.0, v1.27.0, v1.26.0, v1.25.0, v1.24.1, v1.24.0, v1.23.2, v1.23.1, v1.23.0, v1.22.0, v1.21.0, v1.20.3, v1.20.2, v1.20.1, v1.20.0, v1.19.2, v1.19.1, v1.19.0, v1.18.0, v1.17.0, v1.16.1, v1.16.0, v1.15.0, v1.14.1, v1.14.0, v1.13.1, v1.13.0, v1.12.0
# f4f1f57e 21-Feb-2017 Brad King

test: factor out fsevents skip explanation

Factor out a dedicated test macro for use on platforms that
do not support fsevents instead of duplicating the os390
platform condition and

test: factor out fsevents skip explanation

Factor out a dedicated test macro for use on platforms that
do not support fsevents instead of duplicating the os390
platform condition and explanation text.

PR-URL: https://github.com/libuv/libuv/pull/1312
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>

show more ...

Revision tags: v1.11.0, v1.10.2, v1.10.1, v1.10.0
# 1cff5b75 05-Jul-2016 John Barboza

zos: add support for new platform

- zos: disable test cases not applicable
- zos: build options
- zos: semaphore implementation
- zos: use compare and swap builtins
- zos: st

zos: add support for new platform

- zos: disable test cases not applicable
- zos: build options
- zos: semaphore implementation
- zos: use compare and swap builtins
- zos: struct rusage not the same as other platforms
- zos: backlog<=0 produces undefined behaviour
Will redefine backlog in the following way
* if backlog == 0, set it to 1
* if backlog < 0, set it to SOMAXCONN
- zos: define IMAXBEL as empty flag and implement uv__tty_make_raw
- zos: use udp multicast operations from aix
- zos: ESC in ebcdic
- zos: use LIBPATH for dynamic linker path
- zos: uv_udp_set_ttl only works for ipv6
- zos: increase pthread stack size by factor of 4
- zos: return ENODEV instead of ENXIO errors for setsockopt
- zos: use uv_cond_init the same way as aix
- test: enable oob test for zos
- zos: return EINVAL for zos error code EOPNOTSUPP

PR-URL: https://github.com/libuv/libuv/pull/937
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

Revision tags: v0.10.37, v1.9.1, v1.9.0, v1.8.0, v1.7.5, v1.7.4, v1.7.3, v1.7.2, v1.7.1, v1.7.0, v1.6.1, v1.6.0, v1.5.0, v0.10.36, v1.4.2, v0.10.35, v1.4.1, v0.10.34, v1.4.0, v1.3.0, v0.10.33, v1.2.1, v1.2.0, v0.10.32, v1.1.0, v0.10.31, v1.0.2, v0.10.30, v1.0.1, v1.0.0, v0.10.29, v1.0.0-rc2, v1.0.0-rc1, v0.11.29, v0.11.28, v0.11.27, v0.10.28, v0.11.26, v0.10.27, v0.11.25, v0.11.24, v0.11.23, v0.10.26, v0.11.22
# db2a9072 10-Mar-2014 Saúl Ibarra Corretgé

unix, windows: removed unused status parameter

async, timer, prepare, idle and check handles don't need the status
parameter.

Revision tags: v0.11.21, v0.11.20, v0.10.25, v0.11.19, v0.10.24, v0.11.18, v0.10.23, v0.10.22, v0.11.17, v0.10.21, v0.11.16, v0.10.20, v0.11.15, v0.10.19, v0.11.14, v0.10.18, v0.10.17
# 9d44d786 23-Sep-2013 Saúl Ibarra Corretgé

unix, windows: add uv_fs_event_start/stop functions

Make uv_fs_event behave like other handles, that is, it's inactive after
init, and it's active between start and stop.

Revision tags: v0.10.16, v0.11.13
# 08c6ddee 03-Sep-2013 Ben Noordhuis

include: merge uv_udp_send and uv_udp_send6

Merge uv_udp_send6() into uv_udp_send(). uv_udp_send() now takes a
const struct sockaddr*.

# bcee403e 03-Sep-2013 Ben Noordhuis

include: merge uv_udp_bind and uv_udp_bind6

Merge uv_udp_bind6() into uv_udp_bind(). uv_udp_bind() now takes a
const struct sockaddr*.

# 5c675c4a 03-Sep-2013 Ben Noordhuis

include: merge uv_tcp_connect and uv_tcp_connect6

Merge uv_tcp_connect6() into uv_tcp_connect(). uv_tcp_connect() now
takes a const struct sockaddr*.

Revision tags: v0.11.12
# 8c6ea105 01-Sep-2013 Ben Noordhuis

include: uv_spawn takes const uv_process_options_t*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to

include: uv_spawn takes const uv_process_options_t*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to a
pointer-based approach.

Fixes #684.

show more ...

# 263da519 31-Aug-2013 Ben Noordhuis

include: uv_udp_send{6} now takes sockaddr_in*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to a

include: uv_udp_send{6} now takes sockaddr_in*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to a
pointer-based approach.

Fixes #684.

show more ...

# 525dbb5e 31-Aug-2013 Ben Noordhuis

include: uv_udp_bind{6} now takes sockaddr_in*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to a

include: uv_udp_bind{6} now takes sockaddr_in*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to a
pointer-based approach.

Fixes #684.

show more ...

# 255671da 31-Aug-2013 Ben Noordhuis

include: uv_tcp_connect{6} now takes sockaddr_in*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to a

include: uv_tcp_connect{6} now takes sockaddr_in*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to a
pointer-based approach.

Fixes #684.

show more ...

# 81840768 31-Aug-2013 Ben Noordhuis

include: uv_ip[46]_addr now takes sockaddr_in*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to a

include: uv_ip[46]_addr now takes sockaddr_in*

Passing or returning structs as values makes life hard for people that
work with libuv through a foreign function interface. Switch to a
pointer-based approach.

Fixes #684.

show more ...

Revision tags: v0.11.11, v0.11.10, v0.10.15, v0.11.9, v0.10.14, v0.11.8, v0.11.7, v0.10.13, v0.11.6, v0.10.12, v0.11.5, v0.10.11, v0.10.10, v0.11.4, v0.10.9, v0.10.8, v0.11.3, v0.10.7, v0.10.6, v0.11.2, v0.10.5
# a92b66fe 16-Apr-2013 Saúl Ibarra Corretgé

unix, windows: add uv_has_ref() function

Revision tags: v0.10.4, v0.11.1, node-v0.11.0, v0.10.2, node-v0.7.3, node-v0.7.7, node-v0.7.5, node-v0.5.3, node-v0.10.1, node-v0.10.0, node-v0.9.12, node-v0.9.11, node-v0.8.21, node-v0.8.19, node-v0.9.10, node-v0.9.7
# 4ba03ddd 16-Jan-2013 Ben Noordhuis

unix, windows: rename uv_run2 to uv_run

This changes the prototype of uv_run() from:

int uv_run(uv_loop_t* loop);

To:

int uv_run(uv_loop_t* loop, uv_run_mode m

unix, windows: rename uv_run2 to uv_run

This changes the prototype of uv_run() from:

int uv_run(uv_loop_t* loop);

To:

int uv_run(uv_loop_t* loop, uv_run_mode mode);

Where `mode` is UV_RUN_DEFAULT, UV_RUN_ONCE or UV_RUN_NOWAIT.

Fixes #683.

show more ...

Revision tags: node-v0.9.6
# fb725c08 06-Jan-2013 Ben Noordhuis

test: simplify tcp_ref2b

Said test doesn't need its own close callback, it can piggyback on the
common close callback.

# 7ff6f29b 06-Jan-2013 Ben Noordhuis

test, bench: ANSI-fy function prototypes

Replace `void f()` with `void f(void)`; the former means "a function
that takes any number of arguments, including none" while the latter
is

test, bench: ANSI-fy function prototypes

Replace `void f()` with `void f(void)`; the former means "a function
that takes any number of arguments, including none" while the latter
is what is actually intended: a function taking no arguments.

The first form also isn't strictly conforming ANSI/ISO C.

show more ...

Revision tags: node-v0.9.4, node-v0.8.17
# 33d5c497 29-Nov-2012 Saúl Ibarra Corretgé

prepare/idle/check: don't allow NULL callback

# 149b16f1 25-Oct-2012 Bert Belder

windows: closing handles should always keep the loop alive

This makes the tcp-ref2 and udp-ref2 tests pass again.
Also adds another reference count test.

Revision tags: node-v0.8.15, node-v0.9.3
# 47eb0349 16-Oct-2012 Bert Belder

test: move loop cleanup code to the individual tests

Revision tags: node-v0.8.12
# 678e95a4 01-Oct-2012 Ben Noordhuis

test: close handle in ref tests

Everything that gets reported by valgrind now is an actual memory leak.

Revision tags: node-v0.8.10, node-v0.9.2, node-v0.8.9, node-v0.9.1, node-v0.8.8, node-v0.8.7, node-v0.8.6, node-v0.8.5, node-v0.6.21, node-v0.8.3, node-v0.9.0, node-v0.8.2, node-v0.8.1, node-v0.8.0, node-v0.7.12, node-v0.7.11
# cc7c8542 14-Jun-2012 Ben Noordhuis

unix, windows: add stat() based file watcher

Monitors a file path for changes. Supersedes ev_stat.

12