mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-09 20:22:36 +00:00
grpc: fix grpc for various failures
lib: don't define a `fallthrough` in c++ to avoid conflict with protobuf c++
check: add link libs required by some versions of grpc++ or it's dependent
linked libs
tests: don't fail the test due to known at exit memleaks
Signed-off-by: Christian Hopps <chopps@labn.net>
(cherry picked from commit 043a4183c2
)
This commit is contained in:
parent
2cf90b1dd2
commit
c371aef0f9
@ -36,16 +36,24 @@ Installing Topotest Requirements
|
|||||||
tshark \
|
tshark \
|
||||||
valgrind
|
valgrind
|
||||||
python3 -m pip install wheel
|
python3 -m pip install wheel
|
||||||
python3 -m pip install 'protobuf<4'
|
|
||||||
python3 -m pip install 'pytest>=6.2.4' 'pytest-xdist>=2.3.0'
|
python3 -m pip install 'pytest>=6.2.4' 'pytest-xdist>=2.3.0'
|
||||||
python3 -m pip install 'scapy>=2.4.5'
|
python3 -m pip install 'scapy>=2.4.5'
|
||||||
python3 -m pip install xmltodict
|
python3 -m pip install xmltodict
|
||||||
python3 -m pip install git+https://github.com/Exa-Networks/exabgp@0659057837cd6c6351579e9f0fa47e9fb7de7311
|
python3 -m pip install git+https://github.com/Exa-Networks/exabgp@0659057837cd6c6351579e9f0fa47e9fb7de7311
|
||||||
useradd -d /var/run/exabgp/ -s /bin/false exabgp
|
useradd -d /var/run/exabgp/ -s /bin/false exabgp
|
||||||
|
|
||||||
# To enable the gRPC topotest install:
|
The version of protobuf package that is installed on your system will determine
|
||||||
# It's important to include 'protobuf<4' here to avoid incompatible grpcio-tools versions.
|
which versions of the python protobuf packages you need to install.
|
||||||
python3 -m pip install 'protobuf<4' grpcio grpcio-tools
|
|
||||||
|
.. code:: shell
|
||||||
|
# - Either - For protobuf version <= 3.12
|
||||||
|
python3 -m pip install 'protobuf<4'
|
||||||
|
|
||||||
|
# - OR- for protobuf version >= 3.21
|
||||||
|
python3 -m pip install 'protobuf>=4'
|
||||||
|
|
||||||
|
# To enable the gRPC topotest also install:
|
||||||
|
python3 -m pip install grpcio grpcio-tools
|
||||||
|
|
||||||
|
|
||||||
Enable Coredumps
|
Enable Coredumps
|
||||||
|
@ -32,7 +32,7 @@ extern "C" {
|
|||||||
#if __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 5)
|
#if __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 5)
|
||||||
# define _RET_NONNULL , returns_nonnull
|
# define _RET_NONNULL , returns_nonnull
|
||||||
#endif
|
#endif
|
||||||
#if __has_attribute(fallthrough)
|
#if __has_attribute(fallthrough) && !defined(__cplusplus)
|
||||||
# define fallthrough __attribute__((fallthrough));
|
# define fallthrough __attribute__((fallthrough));
|
||||||
#endif
|
#endif
|
||||||
# define _CONSTRUCTOR(x) constructor(x)
|
# define _CONSTRUCTOR(x) constructor(x)
|
||||||
@ -56,7 +56,7 @@ extern "C" {
|
|||||||
#if __GNUC__ < 5
|
#if __GNUC__ < 5
|
||||||
# define __has_attribute(x) 0
|
# define __has_attribute(x) 0
|
||||||
#endif
|
#endif
|
||||||
#if __GNUC__ >= 7
|
#if __GNUC__ >= 7 && !defined(__cplusplus)
|
||||||
# define fallthrough __attribute__((fallthrough));
|
# define fallthrough __attribute__((fallthrough));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@ -112,7 +112,7 @@ extern "C" {
|
|||||||
#ifndef _ALLOC_SIZE
|
#ifndef _ALLOC_SIZE
|
||||||
# define _ALLOC_SIZE(x)
|
# define _ALLOC_SIZE(x)
|
||||||
#endif
|
#endif
|
||||||
#ifndef fallthrough
|
#if !defined(fallthrough) && !defined(__cplusplus)
|
||||||
#define fallthrough
|
#define fallthrough
|
||||||
#endif
|
#endif
|
||||||
#ifndef _DEPRECATED
|
#ifndef _DEPRECATED
|
||||||
|
@ -25,7 +25,7 @@ copy_script: tests/lib/script1.lua
|
|||||||
$(INSTALL_SCRIPT) $< tests/lib/script1.lua
|
$(INSTALL_SCRIPT) $< tests/lib/script1.lua
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
GRPC_TESTS_LDADD = mgmtd/libmgmt_be_nb.la staticd/libstatic.a grpc/libfrrgrpc_pb.la -lgrpc++ -lprotobuf $(ALL_TESTS_LDADD) $(LIBYANG_LIBS) -lm
|
GRPC_TESTS_LDADD = mgmtd/libmgmt_be_nb.la staticd/libstatic.a grpc/libfrrgrpc_pb.la $(GRPC_LIBS) $(ALL_TESTS_LDADD) $(LIBYANG_LIBS) -lm
|
||||||
|
|
||||||
if GRPC
|
if GRPC
|
||||||
check_PROGRAMS += tests/lib/test_grpc
|
check_PROGRAMS += tests/lib/test_grpc
|
||||||
|
@ -142,7 +142,7 @@ def test_shutdown_checks(tgen):
|
|||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
try:
|
try:
|
||||||
for r in tgen.routers().values():
|
for r in tgen.routers().values():
|
||||||
r.net.stopRouter()
|
r.net.stopRouter(False)
|
||||||
r.net.checkRouterCores()
|
r.net.checkRouterCores()
|
||||||
finally:
|
finally:
|
||||||
if p:
|
if p:
|
||||||
|
Loading…
Reference in New Issue
Block a user