...

Text file src/github.com/google/flatbuffers/tests/RustTest.sh

Documentation: github.com/google/flatbuffers/tests

     1#!/bin/bash
     2set -e
     3#
     4# Copyright 2018 Google Inc. All rights reserved.
     5#
     6# Licensed under the Apache License, Version 2.0 (the "License");
     7# you may not use this file except in compliance with the License.
     8# You may obtain a copy of the License at
     9#
    10#     http://www.apache.org/licenses/LICENSE-2.0
    11#
    12# Unless required by applicable law or agreed to in writing, software
    13# distributed under the License is distributed on an "AS IS" BASIS,
    14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15# See the License for the specific language governing permissions and
    16# limitations under the License.
    17
    18if [[ "$1" == "mips-unknown-linux-gnu" ]]; then
    19    TARGET_FLAG="--target mips-unknown-linux-gnu"
    20    export CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc
    21    export CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER="qemu-mips -L /usr/mips-linux-gnu"
    22fi
    23
    24
    25function check_test_result() {
    26    if [[ $? == 0 ]]; then
    27        echo OK: $1 passed.
    28    else
    29        echo KO: $1 failed.
    30        exit 1
    31    fi
    32}
    33
    34cd ./rust_serialize_test
    35cargo run $TARGET_FLAG -- --quiet
    36check_test_result "Rust serde tests"
    37
    38cd ../rust_no_std_compilation_test
    39rustup install nightly
    40rustup component add rust-src --toolchain nightly
    41rustup target add thumbv7m-none-eabi
    42cargo +nightly build
    43check_test_result "Rust flatbuffers test no_std compilation"
    44
    45cd ../rust_usage_test
    46cargo test $TARGET_FLAG -- --quiet
    47check_test_result "Rust tests"
    48
    49cargo test $TARGET_FLAG --no-default-features -- --quiet
    50check_test_result "Rust tests (no_std)"
    51
    52cargo run $TARGET_FLAG --bin=flatbuffers_alloc_check
    53check_test_result "Rust flatbuffers heap alloc test"
    54
    55cargo run $TARGET_FLAG --bin=flexbuffers_alloc_check
    56check_test_result "Rust flexbuffers heap alloc test"
    57
    58rustup component add clippy
    59cargo clippy $TARGET_FLAG
    60check_test_result "No Cargo clippy lints test"
    61
    62cargo bench $TARGET_FLAG
    63
    64# This test is dependent on flatc.
    65if [[ -f ../../flatc ]]; then
    66    cd outdir
    67    cargo test
    68    check_test_result "Rust generated file in \$OUT_DIR"
    69    cd ..
    70fi
    71
    72# RUST_NIGHTLY environment variable set in dockerfile.
    73if [[ $RUST_NIGHTLY == 1 ]]; then
    74  rustup +nightly component add miri
    75  MIRIFLAGS="-Zmiri-disable-isolation" cargo +nightly miri test
    76fi

View as plain text