mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
grpc: build tests
ATM can only be run manually: start the port server, then each test individually.
This commit is contained in:
@@ -9,6 +9,10 @@ LICENSE="Apache v2"
|
||||
REVISION="3"
|
||||
SOURCE_URI="https://github.com/grpc/grpc/archive/v$portVersion/grpc-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="e5fb30aae1fa1cffa4ce00aa0bbfab908c0b899fcf0bbc30e268367d660d8656"
|
||||
gtestCommit="c9ccac7cb7345901884aabf5d1a786cfa6e2f397"
|
||||
SOURCE_URI_2="https://github.com/google/googletest/archive/$gtestCommit/googletest-$gtestCommit.tar.gz"
|
||||
CHECKSUM_SHA256_2="443d383db648ebb8e391382c0ab63263b7091d03197f304390baac10f178a468"
|
||||
SOURCE_DIR_2="googletest-$gtestCommit"
|
||||
PATCHES="grpc-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
@@ -84,6 +88,7 @@ BUILD_REQUIRES="
|
||||
devel:libabsl_strings$secondaryArchSuffix
|
||||
devel:libabsl_synchronization$secondaryArchSuffix
|
||||
devel:libabsl_time$secondaryArchSuffix
|
||||
devel:libbenchmark$secondaryArchSuffix
|
||||
devel:libcares$secondaryArchSuffix
|
||||
devel:libprotobuf$secondaryArchSuffix
|
||||
devel:libre2$secondaryArchSuffix
|
||||
@@ -97,13 +102,21 @@ BUILD_PREREQUIRES="
|
||||
cmd:ninja
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
TEST_REQUIRES="
|
||||
cmd:python2
|
||||
cmd:python3
|
||||
six_python3
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
ln -sf $sourceDir2/googlemock $sourceDir2/googletest \
|
||||
third_party/googletest
|
||||
cmake -Bbuild -S . \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$prefix \
|
||||
-DCMAKE_CXX_STANDARD=17 \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=NO \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DgRPC_INSTALL_BINDIR=$relativeBinDir \
|
||||
-DgRPC_INSTALL_INCLUDEDIR=$relativeIncludeDir \
|
||||
@@ -111,6 +124,7 @@ BUILD()
|
||||
-DgRPC_INSTALL_CMAKEDIR=$relativeLibDir/cmake/grpc \
|
||||
-DgRPC_INSTALL_SHAREDIR=$relativeDataDir/grpc \
|
||||
-DgRPC_ABSL_PROVIDER='package' \
|
||||
-DgRPC_BENCHMARK_PROVIDER='package' \
|
||||
-DgRPC_CARES_PROVIDER='package' \
|
||||
-DgRPC_ZLIB_PROVIDER='package' \
|
||||
-DgRPC_PROTOBUF_PROVIDER='package' \
|
||||
@@ -126,9 +140,9 @@ BUILD()
|
||||
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \
|
||||
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF \
|
||||
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF \
|
||||
-DgRPC_BUILD_TESTS=ON \
|
||||
-GNinja
|
||||
unset -f cmake
|
||||
cmake --build build $jobArgs
|
||||
cmake --build build -v $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
@@ -145,3 +159,8 @@ INSTALL()
|
||||
"$developDir" \
|
||||
"$libDir"/cmake
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
python3 tools/run_tests/run_tests.py -l c++
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 38c91c597e37f36c9a36bf9894f3bfaae2db9ea4 Mon Sep 17 00:00:00 2001
|
||||
From 6054b5cad9f9015e23cd1577d1e9c362ede5b9e6 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 16 Oct 2021 21:33:26 +0200
|
||||
Subject: Haiku: port
|
||||
@@ -17,14 +17,6 @@ index 0e8fbde..832a49c 100644
|
||||
set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread)
|
||||
endif()
|
||||
|
||||
@@ -11654,6 +11654,7 @@ if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN)
|
||||
add_executable(grpc_cpp_plugin
|
||||
src/compiler/cpp_plugin.cc
|
||||
)
|
||||
+set_property(TARGET grpc_cpp_plugin PROPERTY POSITION_INDEPENDENT_CODE FALSE)
|
||||
|
||||
target_include_directories(grpc_cpp_plugin
|
||||
PRIVATE
|
||||
diff --git a/include/grpc/event_engine/port.h b/include/grpc/event_engine/port.h
|
||||
index 9424586..5ee5327 100644
|
||||
--- a/include/grpc/event_engine/port.h
|
||||
@@ -110,3 +102,72 @@ index 3e32429..28e9b11 100644
|
||||
--
|
||||
2.30.2
|
||||
|
||||
|
||||
From 1757df9f3cb61536ac1864fa10c88f79a050b9a4 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Fri, 22 Oct 2021 14:54:43 +0200
|
||||
Subject: patch needed to help build and run tests on Haiku
|
||||
|
||||
|
||||
diff --git a/src/core/lib/promise/detail/basic_seq.h b/src/core/lib/promise/detail/basic_seq.h
|
||||
index 72b91f9..a7be768 100644
|
||||
--- a/src/core/lib/promise/detail/basic_seq.h
|
||||
+++ b/src/core/lib/promise/detail/basic_seq.h
|
||||
@@ -16,6 +16,7 @@
|
||||
#define GRPC_CORE_LIB_PROMISE_DETAIL_BASIC_SEQ_H
|
||||
|
||||
#include <grpc/impl/codegen/port_platform.h>
|
||||
+#include <assert.h>
|
||||
|
||||
#include "absl/types/variant.h"
|
||||
#include "absl/utility/utility.h"
|
||||
diff --git a/tools/run_tests/python_utils/jobset.py b/tools/run_tests/python_utils/jobset.py
|
||||
index a8bbf65..ed97564 100755
|
||||
--- a/tools/run_tests/python_utils/jobset.py
|
||||
+++ b/tools/run_tests/python_utils/jobset.py
|
||||
@@ -58,6 +58,8 @@ def platform_string():
|
||||
return 'mac'
|
||||
elif platform.system() == 'Linux':
|
||||
return 'linux'
|
||||
+ elif platform.system() == 'Haiku':
|
||||
+ return 'haiku'
|
||||
else:
|
||||
return 'posix'
|
||||
|
||||
diff --git a/tools/run_tests/python_utils/port_server.py b/tools/run_tests/python_utils/port_server.py
|
||||
index db1d755..8bcfb36 100755
|
||||
--- a/tools/run_tests/python_utils/port_server.py
|
||||
+++ b/tools/run_tests/python_utils/port_server.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python2.7
|
||||
+#!/usr/bin/env python3
|
||||
# Copyright 2015 gRPC authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
|
||||
index baee928..62c9a29 100755
|
||||
--- a/tools/run_tests/run_tests.py
|
||||
+++ b/tools/run_tests/run_tests.py
|
||||
@@ -273,6 +273,19 @@ class CLanguage(object):
|
||||
# see https://github.com/grpc/grpc/blob/b5b8578b3f8b4a9ce61ed6677e19d546e43c5c68/tools/run_tests/artifacts/artifact_targets.py#L253
|
||||
self._cmake_configure_extra_args.append('-DOPENSSL_NO_ASM=ON')
|
||||
|
||||
+ if self.platform == 'haiku':
|
||||
+ self._cmake_configure_extra_args.append('-DCMAKE_CXX_STANDARD=17')
|
||||
+ self._cmake_configure_extra_args.append('-DCMAKE_POSITION_INDEPENDENT_CODE=NO')
|
||||
+ self._cmake_configure_extra_args.append('-DgRPC_ABSL_PROVIDER=package')
|
||||
+ self._cmake_configure_extra_args.append('-DgRPC_BENCHMARK_PROVIDER=package')
|
||||
+ self._cmake_configure_extra_args.append('-DgRPC_CARES_PROVIDER=package')
|
||||
+ self._cmake_configure_extra_args.append('-DgRPC_ZLIB_PROVIDER=package')
|
||||
+ self._cmake_configure_extra_args.append('-DgRPC_PROTOBUF_PROVIDER=package')
|
||||
+ self._cmake_configure_extra_args.append('-DgRPC_PROTOBUF_PACKAGE_TYPE=MODULE')
|
||||
+ self._cmake_configure_extra_args.append('-DgRPC_RE2_PROVIDER=package')
|
||||
+ self._cmake_configure_extra_args.append('-DgRPC_SSL_PROVIDER=package')
|
||||
+ self._cmake_configure_extra_args.append('-DgRPC_ZLIB_PROVIDER=package')
|
||||
+
|
||||
def test_specs(self):
|
||||
out = []
|
||||
binaries = get_c_tests(self.args.travis, self.test_lang)
|
||||
--
|
||||
2.30.2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user