Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 162608f6 authored by Pawan Wagh's avatar Pawan Wagh Committed by Automerger Merge Worker
Browse files

Merge "Revert "Revert "Adding host script to run test fuzzer.""" am: 212a6d3e am: 5672554a

parents cbd84325 5672554a
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -40,3 +40,24 @@ cc_fuzz {
        fuzz_on_haiku_device: false,
    },
}

sh_test_host {
    name: "fuzz_service_test",
    src: "run_fuzz_service_test.sh",
    filename: "run_fuzz_service_test.sh",
    test_config: "fuzz_service_test_config.xml",
    data_bins: [
        "test_service_fuzzer_should_crash",
    ],
    required: [
        "test_service_fuzzer_should_crash",
    ],
    target: {
        linux_bionic: {
            enabled: false,
        },
        darwin: {
            enabled: false,
        },
    },
}
+22 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2023 The Android Open Source Project

     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.
-->
<configuration description="Runs fuzzService test">
    <option name="null-device" value="true" />
    <test class="com.android.tradefed.testtype.binary.ExecutableHostTest" >
        <option name="binary" value="run_fuzz_service_test.sh"/>
        <option name="relative-path-execution" value="true" />
    </test>
</configuration>
+42 −0
Original line number Diff line number Diff line
#!/bin/bash
# Copyright (C) 2023 The Android Open Source Project
#
# 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.

color_success=$'\E'"[0;32m"
color_failed=$'\E'"[0;31m"
color_reset=$'\E'"[00m"

FUZZER_NAME=test_service_fuzzer_should_crash
FUZZER_OUT=fuzzer-output

if [ ! -f "$FUZZER_NAME" ]
then
    echo -e "${color_failed}Binary $FUZZER_NAME does not exist"
    echo "${color_reset}"
    exit 1
fi

echo "INFO: Running fuzzer : test_service_fuzzer_should_crash"

./test_service_fuzzer_should_crash -max_total_time=30 &>${FUZZER_OUT}

echo "INFO: Searching fuzzer output for expected crashes"
if grep -q "Expected crash in set" ${FUZZER_OUT};
then
    echo -e "${color_success}Success: Found expected crash. fuzzService test successful!"
else
    echo -e "${color_failed}Failed: Unable to find successful fuzzing output from test_service_fuzzer_should_crash"
    echo "${color_reset}"
    exit 1
fi