Skip to content

Commit 3025971

Browse files
bdalrhmtedinski
authored andcommitted
Move gotoc tests under run-make to their own test suite. (rust-lang#217)
* Move expected tests out of run-make tests. * Skip copyright check for `*expected` and `.gitignore` files. * Fix typos. * Readd code to add scripts directory to path. * Factor out duplicated code.
1 parent 291ea13 commit 3025971

File tree

120 files changed

+58
-277
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+58
-277
lines changed

.github/workflows/copyright.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Get paths for files added
1616
id: git-diff
1717
run: |
18-
files=$(git diff --name-only --diff-filter=A ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | xargs)
18+
files=$(git diff --name-only --diff-filter=A ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | grep -v -E '(expected|gitignore)$' | xargs)
1919
echo "::set-output name=paths::$files"
2020
2121
- name: Execute copyright check

scripts/rmc-regression.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ set -o pipefail
99
set -o nounset
1010

1111
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
12-
RUST_DIR=$SCRIPT_DIR/..
13-
export RMC_RUSTC=`find $RUST_DIR/build -name "rustc" -print | grep stage1`
1412
export PATH=$SCRIPT_DIR:$PATH
1513
EXTRA_X_PY_BUILD_ARGS="${EXTRA_X_PY_BUILD_ARGS:-}"
1614

@@ -21,10 +19,6 @@ check-cbmc-viewer-version.py --major 2 --minor 5
2119
# Formatting check
2220
./x.py fmt --check
2321

24-
# Standalone rmc tests and cargo tests
25-
pushd $RUST_DIR
22+
# Standalone rmc tests, expected tests, and cargo tests
2623
./x.py build -i --stage 1 library/std ${EXTRA_X_PY_BUILD_ARGS}
27-
./x.py test -i --stage 1 cbmc firecracker prusti smack cargo-rmc
28-
29-
# run-make tests
30-
./x.py test -i --stage 1 src/test/run-make --test-args gotoc
24+
./x.py test -i --stage 1 cbmc firecracker prusti smack expected cargo-rmc

src/bootstrap/builder.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,7 @@ impl<'a> Builder<'a> {
469469
test::Serial,
470470
test::SMACK,
471471
test::CargoRMC,
472+
test::Expected,
472473
// Run run-make last, since these won't pass without make on Windows
473474
test::RunMake,
474475
),

src/bootstrap/test.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1212,6 +1212,8 @@ default_test!(SMACK { path: "src/test/smack", mode: "rmc", suite: "smack" });
12121212

12131213
default_test!(CargoRMC { path: "src/test/cargo-rmc", mode: "cargo-rmc", suite: "cargo-rmc" });
12141214

1215+
default_test!(Expected { path: "src/test/expected", mode: "expected", suite: "expected" });
1216+
12151217
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
12161218
struct Compiletest {
12171219
compiler: Compiler,

src/test/run-make/gotoc-array/expected renamed to src/test/expected/array/expected

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ array 'y'.0 upper bound in y.0[var_12]: SUCCESS
33
array 'y'.0 upper bound in y.0[var_16]: FAILURE
44
array 'x'.0 upper bound in x.0[var_3]: SUCCESS
55
array 'x'.0 upper bound in x.0[var_5]: SUCCESS
6-
line 11 assertion failed: y[0] == 1: SUCCESS
7-
line 12 assertion failed: y[1] == 2: SUCCESS
8-
line 13 index out of bounds: the length is move _17 but the index is _16: FAILURE
9-
line 13 assertion failed: y[z] == 3: FAILURE
6+
line 12 assertion failed: y[0] == 1: SUCCESS
7+
line 13 assertion failed: y[1] == 2: SUCCESS
8+
line 14 index out of bounds: the length is move _17 but the index is _16: FAILURE
9+
line 14 assertion failed: y[z] == 3: FAILURE

src/test/run-make/gotoc-array/main.rs renamed to src/test/expected/array/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0 OR MIT
3+
// cbmc-flags: --bounds-check
34
fn foo(x: [i32; 5]) -> [i32; 2] {
45
[x[0], x[1]]
56
}

src/test/expected/closure/expected

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
resume instruction: SUCCESS
2+
line 22 attempt to compute `move _8 + move _9`, which would overflow: SUCCESS
3+
line 22 attempt to compute `move _5 + move _6`, which would overflow: SUCCESS
4+
line 22 attempt to compute `(*((*_1).0: &mut i32)) + move _4`, which would overflow: SUCCESS
5+
line 27 attempt to compute `move _18 + const 12_i32`, which would overflow: SUCCESS
6+
line 27 assertion failed: original_num + 12 == num: SUCCESS
7+
line 27 arithmetic overflow on signed + in var_18 + 12: SUCCESS

src/test/run-make/gotoc-closure/main.rs renamed to src/test/expected/closure/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0 OR MIT
3+
// cbmc-flags: --signed-overflow-check
34
fn call_with_one<F>(mut some_closure: F) -> ()
45
where
56
F: FnMut(i64, i64) -> (),
File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
line 28 attempt to compute `((*_1).0: usize) + const 1_usize`, which would overflow: SUCCESS
2+
line 28 arithmetic overflow on unsigned + in self->len + 1: SUCCESS
3+
line 58 assertion failed: a.is_some(): FAILURE
4+
line 59 assertion failed: a.is_none(): FAILURE
5+
line 61 assertion failed: b.is_some(): SUCCESS
6+
line 62 assertion failed: b.is_none(): FAILURE

src/test/run-make/gotoc-replace-hashmap/main.rs renamed to src/test/expected/replace-hashmap/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0 OR MIT
3+
// cbmc-flags: --unsigned-overflow-check
34
use std::collections::HashMap;
45
use std::hash::Hash;
56
use std::collections::hash_map::RandomState;
File renamed without changes.
File renamed without changes.

src/test/run-make/Makefile.common

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/test/run-make/compare-output.sh

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/test/run-make/gotoc-allocation/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-array/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-assert-eq/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-binop/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-closure/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-closure/expected

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/test/run-make/gotoc-closure2/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-closure3/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-comp/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-copy/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-dynamic-error-trait/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-dynamic-trait-static-dispatch/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-dynamic-trait/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-enum/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-float-nan/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-generics/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-iterator/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-multifile/Makefile

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/test/run-make/gotoc-multifile/bar.rs

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/test/run-make/gotoc-multifile/foo.rs

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/test/run-make/gotoc-niche/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-niche2/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-nondet/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-references/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-replace-hashmap/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-replace-hashmap/expected

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/test/run-make/gotoc-replace-vec/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-slice/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-static-mutable-struct/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-static-mutable/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-static/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-test1/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-test2/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-test3/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-test4/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-test5/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-test6/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-transmute/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-vec/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/gotoc-vecdq/Makefile

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/test/run-make/run-cbmc.sh

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)