libuv-svace-build

Форк
0
/
test-connect-unspecified.c 
64 строки · 2.2 Кб
1
/* Copyright libuv project contributors. All rights reserved.
2
*
3
* Permission is hereby granted, free of charge, to any person obtaining a copy
4
* of this software and associated documentation files (the "Software"), to
5
* deal in the Software without restriction, including without limitation the
6
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
* sell copies of the Software, and to permit persons to whom the Software is
8
* furnished to do so, subject to the following conditions:
9
*
10
* The above copyright notice and this permission notice shall be included in
11
* all copies or substantial portions of the Software.
12
*
13
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
* IN THE SOFTWARE.
20
*/
21

22
#include "uv.h"
23
#include "task.h"
24

25
static void connect_4(uv_connect_t* req, int status) {
26
  ASSERT_NE(status, UV_EADDRNOTAVAIL);
27
}
28

29
static void connect_6(uv_connect_t* req, int status) {
30
  ASSERT_NE(status, UV_EADDRNOTAVAIL);
31
}
32

33
TEST_IMPL(connect_unspecified) {
34
  uv_loop_t* loop;
35
  uv_tcp_t socket4;
36
  struct sockaddr_in addr4;
37
  uv_connect_t connect4;
38
  uv_tcp_t socket6;
39
  struct sockaddr_in6 addr6;
40
  uv_connect_t connect6;
41

42
  loop = uv_default_loop();
43

44
  ASSERT_OK(uv_tcp_init(loop, &socket4));
45
  ASSERT_OK(uv_ip4_addr("0.0.0.0", TEST_PORT, &addr4));
46
  ASSERT_OK(uv_tcp_connect(&connect4,
47
                           &socket4,
48
                           (const struct sockaddr*) &addr4,
49
                           connect_4));
50

51
  if (can_ipv6()) {
52
    ASSERT_OK(uv_tcp_init(loop, &socket6));
53
    ASSERT_OK(uv_ip6_addr("::", TEST_PORT, &addr6));
54
    ASSERT_OK(uv_tcp_connect(&connect6,
55
                             &socket6,
56
                             (const struct sockaddr*) &addr6,
57
                             connect_6));
58
  }
59

60
  ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
61

62
  MAKE_VALGRIND_HAPPY(loop);
63
  return 0;
64
}
65

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.