chrome-ec/test/is_enabled_error.sh

41 lines
1.1 KiB
Bash

#!/bin/bash -e
# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
TEST_DIR="$(dirname "${BASH_SOURCE[0]}")"
TEST_CMD="$(cat "${TEST_DIR}/RO/test/is_enabled_error.o.cmd")"
TEST_ERROR_COUNT=0
for test_value in 0 1 2 A "5 + 5"; do
echo -n "Running TEST_VALUE=${test_value}..."
TEST_CMD_COMPLETE="${TEST_CMD} \"-DTEST_VALUE=${test_value}\""
if BUILD_OUTPUT="$(sh -c "$TEST_CMD_COMPLETE" 2>&1)"; then
echo "Fail"
echo "Compilation should not have succeeded for" \
"TEST_VALUE=${test_value}"
echo "$BUILD_OUTPUT"
TEST_ERROR_COUNT=$((TEST_ERROR_COUNT+1))
continue
fi
EXPECTED_ERROR="CONFIG_VALUE must be <blank>, or not defined"
if grep -q "$EXPECTED_ERROR" <<< "$BUILD_OUTPUT"; then
echo "OK"
else
echo "Fail"
echo "Expected to find: $EXPECTED_ERROR"
echo "Actual error:"
echo "$BUILD_OUTPUT"
TEST_ERROR_COUNT=$((TEST_ERROR_COUNT+1))
fi
done
if [[ $TEST_ERROR_COUNT -eq 0 ]]; then
echo "Pass!"
else
echo "Fail! (${TEST_ERROR_COUNT} tests)"
fi