diff --git a/.github/workflows/project_tests.yml b/.github/workflows/project_tests.yml index 942e13669..3c401dcf2 100644 --- a/.github/workflows/project_tests.yml +++ b/.github/workflows/project_tests.yml @@ -13,6 +13,7 @@ jobs: - address - memory - undefined + - coverage architecture: - x86_64 include: diff --git a/infra/ci/build.py b/infra/ci/build.py index f93c18a09..98624d461 100755 --- a/infra/ci/build.py +++ b/infra/ci/build.py @@ -113,7 +113,7 @@ def build_project(project): sanitizer = os.getenv('SANITIZER') architecture = os.getenv('ARCHITECTURE') - if not should_build(project_yaml): + if sanitizer != 'coverage' and not should_build(project_yaml): print(('Specified build: engine: {0}, sanitizer: {1}, architecture: {2} ' 'not enabled for this project: {3}. skipping build.').format( engine, sanitizer, architecture, project)) @@ -123,7 +123,7 @@ def build_project(project): print('Building project', project) build_fuzzers(project, engine, sanitizer, architecture) - if engine != 'none': + if engine != 'none' and sanitizer != 'coverage': check_build(project, engine, sanitizer, architecture) diff --git a/projects/util-linux/Dockerfile b/projects/util-linux/Dockerfile new file mode 100644 index 000000000..fd22a8ff8 --- /dev/null +++ b/projects/util-linux/Dockerfile @@ -0,0 +1,22 @@ +# Copyright 2020 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder +MAINTAINER evvers@ya.ru +RUN apt-get update && apt-get install -y autoconf automake autopoint bison libtool pkg-config +RUN git clone --depth 1 https://github.com/evverx/util-linux util-linux && cd util-linux && git fetch origin fuzz && git checkout -qf FETCH_HEAD +WORKDIR util-linux +COPY build.sh $SRC/ diff --git a/projects/util-linux/build.sh b/projects/util-linux/build.sh new file mode 100755 index 000000000..60b0fd6b9 --- /dev/null +++ b/projects/util-linux/build.sh @@ -0,0 +1,18 @@ +#!/bin/bash -eu +# Copyright 2020 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +tools/oss-fuzz.sh diff --git a/projects/util-linux/project.yaml b/projects/util-linux/project.yaml index 5c8395e54..b5918f8c9 100644 --- a/projects/util-linux/project.yaml +++ b/projects/util-linux/project.yaml @@ -1,4 +1,15 @@ homepage: "https://github.com/karelzak/util-linux" primary_contact: "ruediger.meier@ga-group.nl" +language: c auto_ccs: - "kzak@redhat.com" + - "evvers@ya.ru" + - "evverx@gmail.com" +architectures: + - x86_64 + - i386 +sanitizers: + - address + - undefined +# util-linux is failing to compile with MSan +# - memory