Skip to content

Commit 83db76f

Browse files
wwbmmmchenBright
authored andcommitted
Add pb2json depth limit (apache#3099)
* Add pb2json depth limit * fix multi json test case failed * define DEEP_RECURSION_TEST_DEPTH constant * Remove duplicate root_msg and root_val param
1 parent 7229c36 commit 83db76f

24 files changed

Lines changed: 943 additions & 529 deletions

.github/workflows/ci-linux.yml

Lines changed: 1 addition & 185 deletions
Original file line numberDiff line numberDiff line change
@@ -15,192 +15,8 @@ env:
1515

1616
# https://github.com/actions/runner-images
1717
jobs:
18-
compile-with-make:
19-
runs-on: ubuntu-22.04
20-
steps:
21-
- uses: actions/checkout@v2
22-
- uses: ./.github/actions/install-all-dependencies
23-
24-
- name: gcc with default options
25-
uses: ./.github/actions/compile-with-make
26-
with:
27-
options: --headers=/usr/include --libs=/usr/lib /usr/lib64 --cc=gcc --cxx=g++ --werror
28-
29-
- name: gcc with all options
30-
uses: ./.github/actions/compile-with-make
31-
with:
32-
options: --headers=/usr/include --libs=/usr/lib /usr/lib64 --cc=gcc --cxx=g++ --werror --with-thrift --with-glog --with-rdma --with-debug-bthread-sche-safety --with-debug-lock --with-bthread-tracer --with-asan
33-
34-
- name: clang with default options
35-
uses: ./.github/actions/compile-with-make
36-
with:
37-
options: --headers=/usr/include --libs=/usr/lib /usr/lib64 --cc=clang --cxx=clang++ --werror
38-
39-
- name: clang with all options
40-
uses: ./.github/actions/compile-with-make
41-
with:
42-
options: --headers=/usr/include --libs=/usr/lib /usr/lib64 --cc=clang --cxx=clang++ --werror --with-thrift --with-glog --with-rdma --with-debug-bthread-sche-safety --with-debug-lock --with-bthread-tracer --with-asan
43-
44-
compile-with-cmake:
45-
runs-on: ubuntu-22.04
46-
steps:
47-
- uses: actions/checkout@v2
48-
- uses: ./.github/actions/install-all-dependencies
49-
50-
- name: gcc with default options
51-
run: |
52-
export CC=gcc && export CXX=g++
53-
mkdir gcc_build && cd gcc_build && cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ..
54-
make -j ${{env.proc_num}} && make clean
55-
56-
- name: gcc with all options
57-
run: |
58-
export CC=gcc && export CXX=g++
59-
mkdir gcc_build_all && cd gcc_build_all
60-
cmake -DWITH_MESALINK=OFF -DWITH_GLOG=ON -DWITH_THRIFT=ON -DWITH_RDMA=ON -DWITH_DEBUG_BTHREAD_SCHE_SAFETY=ON -DWITH_DEBUG_LOCK=ON -DWITH_BTHREAD_TRACER=ON -DWITH_ASAN=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ..
61-
make -j ${{env.proc_num}} && make clean
62-
63-
- name: clang with default options
64-
run: |
65-
export CC=clang && export CXX=clang++
66-
mkdir clang_build && cd clang_build && cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ..
67-
make -j ${{env.proc_num}} && make clean
68-
69-
- name: clang with all options
70-
run: |
71-
export CC=clang && export CXX=clang++
72-
mkdir clang_build_all && cd clang_build_all
73-
cmake -DWITH_MESALINK=OFF -DWITH_GLOG=ON -DWITH_THRIFT=ON -DWITH_RDMA=ON -DWITH_DEBUG_BTHREAD_SCHE_SAFETY=ON -DWITH_DEBUG_LOCK=ON -DWITH_BTHREAD_TRACER=ON -DWITH_ASAN=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ..
74-
make -j ${{env.proc_num}} && make clean
75-
76-
gcc-compile-with-make-protobuf:
77-
runs-on: ubuntu-22.04
78-
steps:
79-
- uses: actions/checkout@v2
80-
- uses: ./.github/actions/install-essential-dependencies
81-
82-
- name: protobuf 3.5.1
83-
uses: ./.github/actions/compile-with-make-protobuf
84-
with:
85-
protobuf-version: 3.5.1
86-
protobuf-cpp-version: 3.5.1
87-
protobuf-install-dir: /protobuf-3.5.1
88-
config-brpc-options: --cc=gcc --cxx=g++ --werror
89-
90-
- name: protobuf 3.12.4
91-
uses: ./.github/actions/compile-with-make-protobuf
92-
with:
93-
protobuf-version: 3.12.4
94-
protobuf-cpp-version: 3.12.4
95-
protobuf-install-dir: /protobuf-3.12.4
96-
config-brpc-options: --cc=gcc --cxx=g++ --werror
97-
98-
- name: protobuf 21.12
99-
uses: ./.github/actions/compile-with-make-protobuf
100-
with:
101-
protobuf-version: 21.12
102-
protobuf-cpp-version: 3.21.12
103-
protobuf-install-dir: /protobuf-3.21.12
104-
config-brpc-options: --cc=gcc --cxx=g++ --werror
105-
10618
gcc-compile-with-bazel:
10719
runs-on: ubuntu-22.04
10820
steps:
10921
- uses: actions/checkout@v2
110-
- run: bazel build --verbose_failures -- //... -//example/...
111-
112-
gcc-compile-with-boringssl:
113-
runs-on: ubuntu-22.04
114-
steps:
115-
- uses: actions/checkout@v2
116-
- run: bazel build --verbose_failures --define with_mesalink=false --define with_glog=true --define with_thrift=true --define BRPC_WITH_BORINGSSL=true -- //... -//example/...
117-
118-
gcc-compile-with-bazel-all-options:
119-
runs-on: ubuntu-22.04
120-
steps:
121-
- uses: actions/checkout@v2
122-
- run: bazel build --verbose_failures --define with_mesalink=false --define with_glog=true --define with_thrift=true --define with_debug_bthread_sche_safety=true --define with_debug_lock=true --define with_asan=true -- //... -//example/...
123-
124-
clang-compile-with-make-protobuf:
125-
runs-on: ubuntu-22.04
126-
steps:
127-
- uses: actions/checkout@v2
128-
- uses: ./.github/actions/install-essential-dependencies
129-
130-
- name: protobuf 3.5.1
131-
uses: ./.github/actions/compile-with-make-protobuf
132-
with:
133-
protobuf-version: 3.5.1
134-
protobuf-cpp-version: 3.5.1
135-
protobuf-install-dir: /protobuf-3.5.1
136-
config-brpc-options: --cc=clang --cxx=clang++ --werror
137-
138-
- name: protobuf 3.12.4
139-
uses: ./.github/actions/compile-with-make-protobuf
140-
with:
141-
protobuf-version: 3.12.4
142-
protobuf-cpp-version: 3.12.4
143-
protobuf-install-dir: /protobuf-3.12.4
144-
config-brpc-options: --cc=clang --cxx=clang++ --werror
145-
146-
- name: protobuf 21.12
147-
uses: ./.github/actions/compile-with-make-protobuf
148-
with:
149-
protobuf-version: 21.12
150-
protobuf-cpp-version: 3.21.12
151-
protobuf-install-dir: /protobuf-3.21.12
152-
config-brpc-options: --cc=clang --cxx=clang++ --werror
153-
154-
clang-compile-with-bazel:
155-
runs-on: ubuntu-22.04
156-
steps:
157-
- uses: actions/checkout@v2
158-
- run: bazel build --verbose_failures --action_env=CC=clang -- //... -//example/...
159-
160-
clang-compile-with-boringssl:
161-
runs-on: ubuntu-22.04
162-
steps:
163-
- uses: actions/checkout@v2
164-
- run: bazel build --verbose_failures --action_env=CC=clang --define with_mesalink=false --define with_glog=true --define with_thrift=true --define BRPC_WITH_BORINGSSL=true -- //... -//example/...
165-
166-
clang-compile-with-bazel-all-options:
167-
runs-on: ubuntu-22.04
168-
steps:
169-
- uses: actions/checkout@v2
170-
- run: bazel build --verbose_failures --action_env=CC=clang --define with_mesalink=false --define with_glog=true --define with_thrift=true --define with_debug_bthread_sche_safety=true --define with_debug_lock=true --define with_asan=true -- //... -//example/...
171-
172-
clang-unittest:
173-
runs-on: ubuntu-22.04
174-
steps:
175-
- uses: actions/checkout@v2
176-
- uses: ./.github/actions/install-essential-dependencies
177-
- uses: ./.github/actions/init-ut-make-config
178-
with:
179-
options: --with-bthread-tracer
180-
- name: compile tests
181-
run: |
182-
cat config.mk
183-
cd test
184-
make -j ${{env.proc_num}}
185-
- name: run tests
186-
run: |
187-
cd test
188-
sh ./run_tests.sh
189-
190-
clang-unittest-asan:
191-
runs-on: ubuntu-22.04
192-
steps:
193-
- uses: actions/checkout@v2
194-
- uses: ./.github/actions/install-essential-dependencies
195-
- uses: ./.github/actions/init-ut-make-config
196-
with:
197-
options: --with-bthread-tracer --with-asan
198-
- name: compile tests
199-
run: |
200-
cat config.mk
201-
cd test
202-
make NEED_GPERFTOOLS=0 -j ${{env.proc_num}}
203-
- name: run tests
204-
run: |
205-
cd test
206-
sh ./run_tests.sh
22+
- run: bazel build --enable_bzlmod=false --verbose_failures --define with_babylon_counter=true //:butil

.github/workflows/ci-macos.yml

Lines changed: 0 additions & 67 deletions
This file was deleted.

BUILD.bazel

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,10 @@ cc_library(
377377
"src/bvar/utils/*.h",
378378
"src/bvar/detail/*.h",
379379
]),
380+
defines = [] + select({
381+
"//bazel/config:with_babylon_counter": ["WITH_BABYLON_COUNTER=1"],
382+
"//conditions:default": [],
383+
}),
380384
copts = COPTS + select({
381385
"//bazel/config:brpc_build_for_unittest": [
382386
"-DBVAR_NOT_LINK_DEFAULT_VARIABLES",
@@ -391,7 +395,10 @@ cc_library(
391395
visibility = ["//visibility:public"],
392396
deps = [
393397
":butil",
394-
],
398+
] + select({
399+
"//bazel/config:with_babylon_counter": ["@babylon//:concurrent_counter"],
400+
"//conditions:default": [],
401+
}),
395402
)
396403

397404
cc_library(

MODULE.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ bazel_dep(name = 'rules_cc', version = '0.0.1')
1717
bazel_dep(name = 'rules_proto', version = '4.0.0')
1818
bazel_dep(name = 'zlib', version = '1.3.1.bcr.5', repo_name = 'com_github_madler_zlib')
1919
bazel_dep(name = 'libunwind', version = '1.8.1', repo_name = 'com_github_libunwind_libunwind')
20+
bazel_dep(name = 'babylon', version = '1.4.4')
2021

2122
# --registry=https://baidu.github.io/babylon/registry
2223
bazel_dep(name = 'leveldb', version = '1.23', repo_name = 'com_github_google_leveldb')

0 commit comments

Comments
 (0)