1f6603c60Sopenharmony_ci# Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd.
2f6603c60Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3f6603c60Sopenharmony_ci# you may not use this file except in compliance with the License.
4f6603c60Sopenharmony_ci# You may obtain a copy of the License at
5f6603c60Sopenharmony_ci#
6f6603c60Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7f6603c60Sopenharmony_ci#
8f6603c60Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9f6603c60Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10f6603c60Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11f6603c60Sopenharmony_ci# See the License for the specific language governing permissions and
12f6603c60Sopenharmony_ci# limitations under the License.
13f6603c60Sopenharmony_ci
14f6603c60Sopenharmony_ciimport("//test/xts/tools/build/suite.gni")
15f6603c60Sopenharmony_ci
16f6603c60Sopenharmony_ciimport("//test/xts/acts/arkui/libuv/comm.gni")
17f6603c60Sopenharmony_ci
18f6603c60Sopenharmony_ciohos_static_library("libuvTestStatic") {
19f6603c60Sopenharmony_ci  include_dirs = [
20f6603c60Sopenharmony_ci    "//third_party/libuv/include",
21f6603c60Sopenharmony_ci    "//third_party/libuv/src",
22f6603c60Sopenharmony_ci    "//third_party/libuv/src/unix",
23f6603c60Sopenharmony_ci  ]
24f6603c60Sopenharmony_ci  part_name = "libuv"
25f6603c60Sopenharmony_ci  subsystem_name = "thirdparty"
26f6603c60Sopenharmony_ci  sources = [
27f6603c60Sopenharmony_ci    "//third_party/libuv/test/blackhole-server.c",
28f6603c60Sopenharmony_ci    "//third_party/libuv/test/echo-server.c",
29f6603c60Sopenharmony_ci    "//third_party/libuv/test/runner-unix.c",
30f6603c60Sopenharmony_ci    "//third_party/libuv/test/runner.c",
31f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-active.c",
32f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-async-null-cb.c",
33f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-async.c",
34f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-barrier.c",
35f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-callback-stack.c",
36f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-close-fd.c",
37f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-close-order.c",
38f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-condvar.c",
39f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-connect-unspecified.c",
40f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-connection-fail.c",
41f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-cwd-and-chdir.c",
42f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-default-loop-close.c",
43f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-delayed-accept.c",
44f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-dlerror.c",
45f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-eintr-handling.c",
46f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-embed.c",
47f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-emfile.c",
48f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-env-vars.c",
49f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-error.c",
50f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-fail-always.c",
51f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-fork.c",
52f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-fs-copyfile.c",
53f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-fs-event.c",
54f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-fs-fd-hash.c",
55f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-fs-open-flags.c",
56f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-fs-poll.c",
57f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-fs-readdir.c",
58f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-fs.c",
59f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-get-currentexe.c",
60f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-get-loadavg.c",
61f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-get-memory.c",
62f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-get-passwd.c",
63f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-getaddrinfo.c",
64f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-gethostname.c",
65f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-getsockname.c",
66f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-getters-setters.c",
67f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-gettimeofday.c",
68f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-handle-fileno.c",
69f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-homedir.c",
70f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-hrtime.c",
71f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-idle.c",
72f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-idna.c",
73f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-ip-name.c",
74f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-ip4-addr.c",
75f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-ip6-addr.c",
76f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-ipc-heavy-traffic-deadlock-bug.c",
77f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-ipc-send-recv.c",
78f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-ipc.c",
79f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-loop-alive.c",
80f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-loop-close.c",
81f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-loop-configure.c",
82f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-loop-handles.c",
83f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-loop-stop.c",
84f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-loop-time.c",
85f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-metrics.c",
86f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-multiple-listen.c",
87f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-mutexes.c",
88f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-not-readable-nor-writable-on-read-error.c",
89f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-not-writable-after-shutdown.c",
90f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-osx-select.c",
91f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pass-always.c",
92f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-ping-pong.c",
93f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-bind-error.c",
94f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-close-stdout-read-stdin.c",
95f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-connect-error.c",
96f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-connect-multiple.c",
97f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-connect-prepare.c",
98f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-getsockname.c",
99f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-pending-instances.c",
100f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-sendmsg.c",
101f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-server-close.c",
102f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-set-fchmod.c",
103f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-pipe-set-non-blocking.c",
104f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-platform-output.c",
105f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-poll-close-doesnt-corrupt-stack.c",
106f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-poll-close.c",
107f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-poll-closesocket.c",
108f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-poll-multiple-handles.c",
109f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-poll-oob.c",
110f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-poll.c",
111f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-process-priority.c",
112f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-process-title-threadsafe.c",
113f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-process-title.c",
114f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-queue-foreach-delete.c",
115f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-random.c",
116f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-readable-on-eof.c",
117f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-ref.c",
118f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-run-nowait.c",
119f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-run-once.c",
120f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-semaphore.c",
121f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-shutdown-close.c",
122f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-shutdown-eof.c",
123f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-shutdown-simultaneous.c",
124f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-shutdown-twice.c",
125f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-signal-multiple-loops.c",
126f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-signal-pending-on-close.c",
127f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-signal.c",
128f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-socket-buffer-size.c",
129f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-spawn.c",
130f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-stdio-over-pipes.c",
131f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-strscpy.c",
132f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-alloc-cb-fail.c",
133f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-bind-error.c",
134f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-bind6-error.c",
135f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-close-accept.c",
136f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-close-after-read-timeout.c",
137f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-close-reset.c",
138f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-close-while-connecting.c",
139f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-close.c",
140f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-connect-error-after-write.c",
141f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-connect-error.c",
142f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-connect-timeout.c",
143f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-connect6-error.c",
144f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-create-socket-early.c",
145f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-flags.c",
146f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-oob.c",
147f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-open.c",
148f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-rst.c",
149f6603c60Sopenharmony_ci
150f6603c60Sopenharmony_ci    #    "//third_party/libuv/test/test-metrics-idle-time.c",
151f6603c60Sopenharmony_ci    #    "//third_party/libuv/test/test-metrics-idle-time-thread.c",
152f6603c60Sopenharmony_ci    #    "//third_party/libuv/test/test-metrics-idle-time-zero.c",
153f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-read-stop-start.c",
154f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-read-stop.c",
155f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-shutdown-after-write.c",
156f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-try-write-error.c",
157f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-try-write.c",
158f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-unexpected-read.c",
159f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-write-after-connect.c",
160f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-write-fail.c",
161f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-write-queue-order.c",
162f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-write-to-half-open-connection.c",
163f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tcp-writealot.c",
164f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-test-macros.c",
165f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-thread-equal.c",
166f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-thread.c",
167f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-threadpool-cancel.c",
168f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-threadpool.c",
169f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-timer-again.c",
170f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-timer-from-check.c",
171f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-timer.c",
172f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tmpdir.c",
173f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tty-duplicate-key.c",
174f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tty-escape-sequence-processing.c",
175f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-tty.c",
176f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-alloc-cb-fail.c",
177f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-bind.c",
178f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-connect.c",
179f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-connect6.c",
180f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-create-socket-early.c",
181f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-dgram-too-big.c",
182f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-ipv6.c",
183f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-mmsg.c",
184f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-multicast-interface.c",
185f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-multicast-interface6.c",
186f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-multicast-join.c",
187f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-multicast-join6.c",
188f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-multicast-ttl.c",
189f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-open.c",
190f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-options.c",
191f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-send-and-recv.c",
192f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-send-hang-loop.c",
193f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-send-immediate.c",
194f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-send-unreachable.c",
195f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-sendmmsg-error.c",
196f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-udp-try-send.c",
197f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-uname.c",
198f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-walk-handles.c",
199f6603c60Sopenharmony_ci    "//third_party/libuv/test/test-watcher-cross-stop.c",
200f6603c60Sopenharmony_ci  ]
201f6603c60Sopenharmony_ci  deps = [ "//third_party/libuv:uv_static" ]
202f6603c60Sopenharmony_ci}
203f6603c60Sopenharmony_ci
204f6603c60Sopenharmony_ciohos_executable("libuvruntest") {
205f6603c60Sopenharmony_ci  include_dirs = [
206f6603c60Sopenharmony_ci    "//third_party/libuv/include",
207f6603c60Sopenharmony_ci    "//third_party/libuv/src",
208f6603c60Sopenharmony_ci    "//third_party/libuv/src/unix",
209f6603c60Sopenharmony_ci  ]
210f6603c60Sopenharmony_ci  sources = [ "//third_party/libuv/test/run-tests.c" ]
211f6603c60Sopenharmony_ci  external_deps = [ "hilog:libhilog" ]
212f6603c60Sopenharmony_ci  deps = [ ":libuvTestStatic" ]
213f6603c60Sopenharmony_ci  part_name = "libuv"
214f6603c60Sopenharmony_ci  subsystem_name = "thirdparty"
215f6603c60Sopenharmony_ci}
216f6603c60Sopenharmony_ci
217f6603c60Sopenharmony_ciohos_moduletest_suite("ActsLibuvTest") {
218f6603c60Sopenharmony_ci  sources = [ "src/ActsLibuvTest.cpp" ]
219f6603c60Sopenharmony_ci
220f6603c60Sopenharmony_ci  include_dirs = [
221f6603c60Sopenharmony_ci    "../src",
222f6603c60Sopenharmony_ci    "//third_party/libuv/test",
223f6603c60Sopenharmony_ci    "//third_party/libuv/include",
224f6603c60Sopenharmony_ci    "//third_party/libuv/src",
225f6603c60Sopenharmony_ci    "//third_party/libuv/src/unix",
226f6603c60Sopenharmony_ci  ]
227f6603c60Sopenharmony_ci  external_deps = [ "hilog:libhilog" ]
228f6603c60Sopenharmony_ci  deps = [ ":libuvTestStatic" ]
229f6603c60Sopenharmony_ci  cflags = [ "-Wno-error" ]
230f6603c60Sopenharmony_ci}
231f6603c60Sopenharmony_ci
232f6603c60Sopenharmony_ciohos_sh_assist_suite("cpLibuv") {
233f6603c60Sopenharmony_ci  testonly = true
234f6603c60Sopenharmony_ci  script = "cplibuv.sh"
235f6603c60Sopenharmony_ci  outputs = [ "${target_out_dir}/cplibuv.log" ]
236f6603c60Sopenharmony_ci  root_libuv_path = rebase_path("//")
237f6603c60Sopenharmony_ci  args = [ "$root_libuv_path" ]
238f6603c60Sopenharmony_ci  deps = [
239f6603c60Sopenharmony_ci    ":ActsLibuvTest",
240f6603c60Sopenharmony_ci    ":libuvruntest",
241f6603c60Sopenharmony_ci  ]
242f6603c60Sopenharmony_ci  part_name = "libuv"
243f6603c60Sopenharmony_ci}
244f6603c60Sopenharmony_ci
245f6603c60Sopenharmony_cigroup("libuvTest") {
246f6603c60Sopenharmony_ci  testonly = true
247f6603c60Sopenharmony_ci  if (is_standard_system) {
248f6603c60Sopenharmony_ci    deps = [
249f6603c60Sopenharmony_ci      ":ActsLibuvTest",
250f6603c60Sopenharmony_ci      ":cpLibuv",
251f6603c60Sopenharmony_ci    ]
252f6603c60Sopenharmony_ci  }
253f6603c60Sopenharmony_ci}
254