Skip to content

Commit 4bf20ff

Browse files
authored
json: Add run_tests (#14609)
Adds run_tests.sh for the json project. run_tests.sh is used as part of Chronos with cached builds: https://github.com/google/oss-fuzz/tree/master/infra/chronos#chronos-feature--running-tests-of-a-project --------- Signed-off-by: Arthur Chan <[email protected]>
1 parent b76636d commit 4bf20ff

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

projects/json/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ RUN apt-get update && apt-get install -y binutils make
1919

2020
RUN git clone --depth 1 -b develop https://github.com/nlohmann/json.git
2121
WORKDIR json/
22-
COPY build.sh *.options parse_afl_fuzzer.dict $SRC/
22+
COPY run_tests.sh build.sh *.options parse_afl_fuzzer.dict $SRC/

projects/json/build.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,13 @@ for F in $FUZZER_FILES; do
2424
cp $SRC/fuzzer-parse.options $OUT/$FUZZER.options
2525
done
2626
cp $SRC/parse_afl_fuzzer.dict $OUT/
27+
28+
# Build unit tests
29+
mkdir build-tests
30+
pushd build-tests
31+
cmake ..
32+
make -C tests
33+
popd
34+
35+
# Pre-download test data
36+
ctest --test-dir build-tests -R download_test_data

projects/json/run_tests.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash -eu
2+
#
3+
# Copyright 2025 Google LLC
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
################################################################################
18+
19+
# Skip download of test data
20+
# Temporarily skip test-class_parser_cpp11 which throws exception
21+
ctest --test-dir build-tests -E "download_test_data|test-class_parser_cpp11"

0 commit comments

Comments
 (0)