From cda4ae67d21c11da46a1a99fb6df6ffec7d1856f Mon Sep 17 00:00:00 2001 From: "Brian R. Murphy" <132495859+brmataptos@users.noreply.github.com> Date: Fri, 21 Jul 2023 11:22:07 -0700 Subject: [PATCH] [compiler] test cases and stdlib source code updates for attributes checks PR --- .../aptos-stdlib/doc/string_utils.md | 54 ++++++------ .../aptos-stdlib/sources/string_utils.move | 1 + .../move_check/parser/attribute_placement.exp | 84 +++++++++++++++++++ .../move_check/parser/attribute_variants.exp | 60 +++++++++++++ .../parser/duplicate_attributes.exp | 18 ++++ .../tests/move_check/parser/testonly.exp | 12 +++ .../tests/move_check/parser/testonly.move | 19 +++++ .../attribute_no_closing_bracket.exp | 8 ++ .../attribute_no_closing_bracket.move | 5 ++ .../attribute_placement.move | 46 ++++++++++ .../attribute_variants.move | 6 ++ .../duplicate_attributes.exp | 24 ++++++ .../duplicate_attributes.move | 7 ++ .../extra_attributes.move | 26 ++++++ .../extra_attributes2.move | 23 +++++ .../skip_attribute_checks/testonly.move | 9 ++ .../tests/move_check/typing/assign_tuple.exp | 9 ++ .../tests/move_check/typing/assign_tuple.move | 15 ++++ .../tests/move_check/typing/tuple.move | 15 ++++ .../unit_test/extra_attributes.move | 1 - .../unit_test/extra_attributes2.move | 23 +++++ .../build_tests/dependency_chain/args.exp | 6 ++ .../tests/build_tests/dev_address/args.exp | 6 ++ .../build_tests/empty_module_no_deps/args.exp | 6 ++ .../include_exclude_stdlib/args.exp | 12 +++ .../build_tests/unbound_address/args.exp | 2 +- .../compilation/basic_no_deps/Move.exp | 2 + .../basic_no_deps_address_assigned/Move.exp | 2 + .../Move.exp | 2 + .../basic_no_deps_test_mode/Move.exp | 2 + .../Move.exp | 2 + .../diamond_problem_no_conflict/Move.exp | 2 + .../compilation/multiple_deps_rename/Move.exp | 2 + .../multiple_deps_rename_one/Move.exp | 2 + .../test_sources/compilation/one_dep/Move.exp | 2 + .../one_dep_assigned_address/Move.exp | 2 + .../compilation/one_dep_renamed/Move.exp | 2 + .../compilation/one_dep_with_scripts/Move.exp | 2 + .../compilation/test_symlinks/Move.exp | 2 + .../invalid_identifier_package_name/Move.exp | 2 + .../parsing/minimal_manifest/Move.exp | 2 + .../resolution/basic_no_deps/Move.exp | 2 + .../basic_no_deps_address_assigned/Move.exp | 2 + .../Move.exp | 2 +- .../Move.exp | 2 + .../resolution/dep_good_digest/Move.exp | 2 + .../Move.exp | 2 + .../diamond_problem_no_conflict/Move.exp | 2 + .../resolution/multiple_deps_rename/Move.exp | 2 + .../test_sources/resolution/one_dep/Move.exp | 2 + .../one_dep_assigned_address/Move.exp | 2 + .../one_dep_multiple_of_same_name/Move.exp | 2 + .../one_dep_reassigned_address/Move.exp | 2 + .../Move.exp | 2 + 54 files changed, 526 insertions(+), 27 deletions(-) create mode 100644 third_party/move/move-compiler/tests/move_check/parser/attribute_placement.exp create mode 100644 third_party/move/move-compiler/tests/move_check/parser/attribute_variants.exp create mode 100644 third_party/move/move-compiler/tests/move_check/parser/testonly.exp create mode 100644 third_party/move/move-compiler/tests/move_check/parser/testonly.move create mode 100644 third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_no_closing_bracket.exp create mode 100644 third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_no_closing_bracket.move create mode 100644 third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_placement.move create mode 100644 third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_variants.move create mode 100644 third_party/move/move-compiler/tests/move_check/skip_attribute_checks/duplicate_attributes.exp create mode 100644 third_party/move/move-compiler/tests/move_check/skip_attribute_checks/duplicate_attributes.move create mode 100644 third_party/move/move-compiler/tests/move_check/skip_attribute_checks/extra_attributes.move create mode 100644 third_party/move/move-compiler/tests/move_check/skip_attribute_checks/extra_attributes2.move create mode 100644 third_party/move/move-compiler/tests/move_check/skip_attribute_checks/testonly.move create mode 100644 third_party/move/move-compiler/tests/move_check/typing/assign_tuple.exp create mode 100644 third_party/move/move-compiler/tests/move_check/typing/assign_tuple.move create mode 100644 third_party/move/move-compiler/tests/move_check/typing/tuple.move create mode 100644 third_party/move/move-compiler/tests/move_check/unit_test/extra_attributes2.move diff --git a/aptos-move/framework/aptos-stdlib/doc/string_utils.md b/aptos-move/framework/aptos-stdlib/doc/string_utils.md index 47d50542582151..b19ef7cd4d5ba1 100644 --- a/aptos-move/framework/aptos-stdlib/doc/string_utils.md +++ b/aptos-move/framework/aptos-stdlib/doc/string_utils.md @@ -9,7 +9,8 @@ A module for formatting move values as strings. - [Struct `Cons`](#0x1_string_utils_Cons) - [Struct `NIL`](#0x1_string_utils_NIL) - [Struct `FakeCons`](#0x1_string_utils_FakeCons) -- [Constants](#@Constants_0) + - [[test_only]](#@[test_only]_0) +- [Constants](#@Constants_1) - [Function `to_string`](#0x1_string_utils_to_string) - [Function `to_string_with_canonical_addresses`](#0x1_string_utils_to_string_with_canonical_addresses) - [Function `to_string_with_integer_types`](#0x1_string_utils_to_string_with_integer_types) @@ -26,17 +27,17 @@ A module for formatting move values as strings. - [Function `list4`](#0x1_string_utils_list4) - [Function `native_format`](#0x1_string_utils_native_format) - [Function `native_format_list`](#0x1_string_utils_native_format_list) -- [Specification](#@Specification_1) - - [Function `to_string`](#@Specification_1_to_string) - - [Function `to_string_with_canonical_addresses`](#@Specification_1_to_string_with_canonical_addresses) - - [Function `to_string_with_integer_types`](#@Specification_1_to_string_with_integer_types) - - [Function `debug_string`](#@Specification_1_debug_string) - - [Function `format1`](#@Specification_1_format1) - - [Function `format2`](#@Specification_1_format2) - - [Function `format3`](#@Specification_1_format3) - - [Function `format4`](#@Specification_1_format4) - - [Function `native_format`](#@Specification_1_native_format) - - [Function `native_format_list`](#@Specification_1_native_format_list) +- [Specification](#@Specification_2) + - [Function `to_string`](#@Specification_2_to_string) + - [Function `to_string_with_canonical_addresses`](#@Specification_2_to_string_with_canonical_addresses) + - [Function `to_string_with_integer_types`](#@Specification_2_to_string_with_integer_types) + - [Function `debug_string`](#@Specification_2_debug_string) + - [Function `format1`](#@Specification_2_format1) + - [Function `format2`](#@Specification_2_format2) + - [Function `format3`](#@Specification_2_format3) + - [Function `format4`](#@Specification_2_format4) + - [Function `native_format`](#@Specification_2_native_format) + - [Function `native_format_list`](#@Specification_2_native_format_list)
use 0x1::string;
@@ -109,6 +110,11 @@ A module for formatting move values as strings.
## Struct `FakeCons`
+
+
+### [test_only]
+
+
#[testonly]
struct FakeCons<T, N> has copy, drop, store
@@ -138,7 +144,7 @@ A module for formatting move values as strings.
-
+
## Constants
@@ -542,12 +548,12 @@ Formatting with a rust-like format string, eg.
+
## Specification
-
+
### Function `to_string`
@@ -564,7 +570,7 @@ Formatting with a rust-like format string, eg.
+
### Function `to_string_with_canonical_addresses`
@@ -581,7 +587,7 @@ Formatting with a rust-like format string, eg.
+
### Function `to_string_with_integer_types`
@@ -598,7 +604,7 @@ Formatting with a rust-like format string, eg.
+
### Function `debug_string`
@@ -615,7 +621,7 @@ Formatting with a rust-like format string, eg.
+
### Function `format1`
@@ -632,7 +638,7 @@ Formatting with a rust-like format string, eg.
+
### Function `format2`
@@ -649,7 +655,7 @@ Formatting with a rust-like format string, eg.
+
### Function `format3`
@@ -666,7 +672,7 @@ Formatting with a rust-like format string, eg.
+
### Function `format4`
@@ -683,7 +689,7 @@ Formatting with a rust-like format string, eg.
+
### Function `native_format`
@@ -701,7 +707,7 @@ Formatting with a rust-like format string, eg.
+
### Function `native_format_list`
diff --git a/aptos-move/framework/aptos-stdlib/sources/string_utils.move b/aptos-move/framework/aptos-stdlib/sources/string_utils.move
index c7e3645e7d14a0..f6ee46dce7b50d 100644
--- a/aptos-move/framework/aptos-stdlib/sources/string_utils.move
+++ b/aptos-move/framework/aptos-stdlib/sources/string_utils.move
@@ -108,6 +108,7 @@ module aptos_std::string_utils {
}
#[testonly]
+ /// #[test_only]
struct FakeCons has copy, drop, store {
car: T,
cdr: N,
diff --git a/third_party/move/move-compiler/tests/move_check/parser/attribute_placement.exp b/third_party/move/move-compiler/tests/move_check/parser/attribute_placement.exp
new file mode 100644
index 00000000000000..aee01fa4e65f6f
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/parser/attribute_placement.exp
@@ -0,0 +1,84 @@
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:3:3
+ │
+3 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:5:7
+ │
+5 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:8:7
+ │
+8 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:11:7
+ │
+11 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:14:7
+ │
+14 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:17:7
+ │
+17 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:22:3
+ │
+22 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:24:7
+ │
+24 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:27:7
+ │
+27 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:31:3
+ │
+31 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:33:7
+ │
+33 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:36:7
+ │
+36 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:39:7
+ │
+39 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_placement.move:44:7
+ │
+44 │ #[attr]
+ │ ^^^^ Attribute name 'attr' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
diff --git a/third_party/move/move-compiler/tests/move_check/parser/attribute_variants.exp b/third_party/move/move-compiler/tests/move_check/parser/attribute_variants.exp
new file mode 100644
index 00000000000000..8d58dee27063a4
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/parser/attribute_variants.exp
@@ -0,0 +1,60 @@
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:2:3
+ │
+2 │ #[attr0]
+ │ ^^^^^ Attribute name 'attr0' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:3:3
+ │
+3 │ #[attr1=0, attr2=b"hello", attr3=x"0f", attr4=0x42, attr5(attr0, attr1, attr2(attr0, attr1=0))]
+ │ ^^^^^ Attribute name 'attr1' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:3:12
+ │
+3 │ #[attr1=0, attr2=b"hello", attr3=x"0f", attr4=0x42, attr5(attr0, attr1, attr2(attr0, attr1=0))]
+ │ ^^^^^ Attribute name 'attr2' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:3:28
+ │
+3 │ #[attr1=0, attr2=b"hello", attr3=x"0f", attr4=0x42, attr5(attr0, attr1, attr2(attr0, attr1=0))]
+ │ ^^^^^ Attribute name 'attr3' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:3:41
+ │
+3 │ #[attr1=0, attr2=b"hello", attr3=x"0f", attr4=0x42, attr5(attr0, attr1, attr2(attr0, attr1=0))]
+ │ ^^^^^ Attribute name 'attr4' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:3:53
+ │
+3 │ #[attr1=0, attr2=b"hello", attr3=x"0f", attr4=0x42, attr5(attr0, attr1, attr2(attr0, attr1=0))]
+ │ ^^^^^ Attribute name 'attr5' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:4:3
+ │
+4 │ #[bttr0=false, bttr1=0u8, bttr2=0u64, bttr3=0u128]
+ │ ^^^^^ Attribute name 'bttr0' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:4:16
+ │
+4 │ #[bttr0=false, bttr1=0u8, bttr2=0u64, bttr3=0u128]
+ │ ^^^^^ Attribute name 'bttr1' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:4:27
+ │
+4 │ #[bttr0=false, bttr1=0u8, bttr2=0u64, bttr3=0u128]
+ │ ^^^^^ Attribute name 'bttr2' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/attribute_variants.move:4:39
+ │
+4 │ #[bttr0=false, bttr1=0u8, bttr2=0u64, bttr3=0u128]
+ │ ^^^^^ Attribute name 'bttr3' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
diff --git a/third_party/move/move-compiler/tests/move_check/parser/duplicate_attributes.exp b/third_party/move/move-compiler/tests/move_check/parser/duplicate_attributes.exp
index 4930a1562bd0e8..ece55e6ee1b769 100644
--- a/third_party/move/move-compiler/tests/move_check/parser/duplicate_attributes.exp
+++ b/third_party/move/move-compiler/tests/move_check/parser/duplicate_attributes.exp
@@ -1,3 +1,15 @@
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/duplicate_attributes.move:2:7
+ │
+2 │ #[a, a(x = 0)]
+ │ ^ Attribute name 'a' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/duplicate_attributes.move:2:10
+ │
+2 │ #[a, a(x = 0)]
+ │ ^ Attribute name 'a' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
error[E02001]: duplicate declaration, item, or annotation
┌─ tests/move_check/parser/duplicate_attributes.move:2:10
│
@@ -6,6 +18,12 @@ error[E02001]: duplicate declaration, item, or annotation
│ │
│ Attribute previously given here
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/duplicate_attributes.move:5:7
+ │
+5 │ #[b(a, a = 0, a(x = 1))]
+ │ ^ Attribute name 'b' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
error[E02001]: duplicate declaration, item, or annotation
┌─ tests/move_check/parser/duplicate_attributes.move:5:12
│
diff --git a/third_party/move/move-compiler/tests/move_check/parser/testonly.exp b/third_party/move/move-compiler/tests/move_check/parser/testonly.exp
new file mode 100644
index 00000000000000..0dc78b0a3f312c
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/parser/testonly.exp
@@ -0,0 +1,12 @@
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/testonly.move:5:7
+ │
+5 │ #[testonly]
+ │ ^^^^^^^^ Attribute name 'testonly' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
+warning[W02016]: unknown attribute
+ ┌─ tests/move_check/parser/testonly.move:15:7
+ │
+15 │ #[view]
+ │ ^^^^ Attribute name 'view' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
diff --git a/third_party/move/move-compiler/tests/move_check/parser/testonly.move b/third_party/move/move-compiler/tests/move_check/parser/testonly.move
new file mode 100644
index 00000000000000..6631942d17dc6a
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/parser/testonly.move
@@ -0,0 +1,19 @@
+module 0x1::A {
+ #[test]
+ fun a() { }
+
+ #[testonly]
+ public fun a_call() {
+ abort 0
+ }
+
+ #[test_only]
+ public fun b_call() {
+ abort 0
+ }
+
+ #[view]
+ public fun c_call() {
+ abort 0
+ }
+}
diff --git a/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_no_closing_bracket.exp b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_no_closing_bracket.exp
new file mode 100644
index 00000000000000..3148a6a7ca752e
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_no_closing_bracket.exp
@@ -0,0 +1,8 @@
+error[E01002]: unexpected token
+ ┌─ tests/move_check/skip_attribute_checks/attribute_no_closing_bracket.move:4:5
+ │
+3 │ #[attr = 0
+ │ - To match this '['
+4 │ fun foo() {}
+ │ ^ Expected ']'
+
diff --git a/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_no_closing_bracket.move b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_no_closing_bracket.move
new file mode 100644
index 00000000000000..9a28c27c391e46
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_no_closing_bracket.move
@@ -0,0 +1,5 @@
+module 0x42::M {
+ // Errors expecting a ']'
+ #[attr = 0
+ fun foo() {}
+}
diff --git a/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_placement.move b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_placement.move
new file mode 100644
index 00000000000000..0c50c6f7a5485c
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_placement.move
@@ -0,0 +1,46 @@
+#[attr]
+address 0x42 {
+#[attr]
+module M {
+ #[attr]
+ use 0x42::N;
+
+ #[attr]
+ struct S {}
+
+ #[attr]
+ const C: u64 = 0;
+
+ #[attr]
+ public fun foo() { N::bar() }
+
+ #[attr]
+ spec foo {}
+}
+}
+
+#[attr]
+module 0x42::N {
+ #[attr]
+ friend 0x42::M;
+
+ #[attr]
+ public fun bar() {}
+}
+
+#[attr]
+script {
+ #[attr]
+ use 0x42::M;
+
+ #[attr]
+ const C: u64 = 0;
+
+ #[attr]
+ fun main() {
+ M::foo();
+ }
+
+ #[attr]
+ spec main { }
+}
diff --git a/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_variants.move b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_variants.move
new file mode 100644
index 00000000000000..482fa4cbacaccb
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/attribute_variants.move
@@ -0,0 +1,6 @@
+#[]
+#[attr0]
+#[attr1=0, attr2=b"hello", attr3=x"0f", attr4=0x42, attr5(attr0, attr1, attr2(attr0, attr1=0))]
+#[bttr0=false, bttr1=0u8, bttr2=0u64, bttr3=0u128]
+#[]
+module 0x42::M {}
diff --git a/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/duplicate_attributes.exp b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/duplicate_attributes.exp
new file mode 100644
index 00000000000000..1de53e06c5e250
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/duplicate_attributes.exp
@@ -0,0 +1,24 @@
+error[E02001]: duplicate declaration, item, or annotation
+ ┌─ tests/move_check/skip_attribute_checks/duplicate_attributes.move:2:10
+ │
+2 │ #[a, a(x = 0)]
+ │ - ^^^^^^^^ Duplicate attribute 'a' attached to the same item
+ │ │
+ │ Attribute previously given here
+
+error[E02001]: duplicate declaration, item, or annotation
+ ┌─ tests/move_check/skip_attribute_checks/duplicate_attributes.move:5:12
+ │
+5 │ #[b(a, a = 0, a(x = 1))]
+ │ - ^^^^^ Duplicate attribute 'a' attached to the same item
+ │ │
+ │ Attribute previously given here
+
+error[E02001]: duplicate declaration, item, or annotation
+ ┌─ tests/move_check/skip_attribute_checks/duplicate_attributes.move:5:19
+ │
+5 │ #[b(a, a = 0, a(x = 1))]
+ │ - ^^^^^^^^ Duplicate attribute 'a' attached to the same item
+ │ │
+ │ Attribute previously given here
+
diff --git a/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/duplicate_attributes.move b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/duplicate_attributes.move
new file mode 100644
index 00000000000000..e2de77f0f23a4b
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/duplicate_attributes.move
@@ -0,0 +1,7 @@
+module 0x42::M {
+ #[a, a(x = 0)]
+ fun foo() {}
+
+ #[b(a, a = 0, a(x = 1))]
+ fun bar() {}
+}
diff --git a/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/extra_attributes.move b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/extra_attributes.move
new file mode 100644
index 00000000000000..11ff5533c4f37a
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/extra_attributes.move
@@ -0,0 +1,26 @@
+// tests non-abort related execution failures
+module 0x1::n {}
+module 0x1::m {
+ #[test_only]
+ use 0x1::n;
+
+ #[test]
+ #[expected_failure(vector_error, location=std::vector, hello=0)]
+ fun t0() { }
+
+ #[test]
+ #[expected_failure(arithmetic_error, location=n, wowza)]
+ fun t1() { }
+
+ #[test]
+ #[expected_failure(out_of_gas, location=Self, so_many_attrs)]
+ fun t2() { }
+
+ #[test]
+ #[expected_failure(major_status=4004, an_attr_here_is_unused, location=Self)]
+ fun t3() { }
+
+ #[test]
+ #[expected_failure(major_status=4016, minor_code=0, location=Self)]
+ fun t4() { }
+}
diff --git a/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/extra_attributes2.move b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/extra_attributes2.move
new file mode 100644
index 00000000000000..ba09afd866987b
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/extra_attributes2.move
@@ -0,0 +1,23 @@
+// tests non-abort related execution failures with errors in attributes
+module 0x1::n {}
+module 0x1::m {
+ #[test]
+ #[expected_failure(arithmetic_error, location=Self)]
+ fun t5() { }
+
+ #[test]
+ #[expected_failure(abort_code=3, test, location=Self)]
+ fun t6() { }
+
+ #[test]
+ #[expected_failure(vector_error, test_only, location=Self)]
+ fun t7() { }
+
+ #[test_only]
+ #[expected_failure(bytecode_instruction, location=Self)]
+ fun t8() { }
+
+ #[test]
+ #[expected_failure(verify_only)]
+ fun t9() { }
+}
diff --git a/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/testonly.move b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/testonly.move
new file mode 100644
index 00000000000000..0923625d717ba1
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/skip_attribute_checks/testonly.move
@@ -0,0 +1,9 @@
+module 0x1::A {
+ #[test]
+ fun a() { }
+
+ #[testonly]
+ public fun a_call() {
+ abort 0
+ }
+}
diff --git a/third_party/move/move-compiler/tests/move_check/typing/assign_tuple.exp b/third_party/move/move-compiler/tests/move_check/typing/assign_tuple.exp
new file mode 100644
index 00000000000000..d547fa6237e241
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/typing/assign_tuple.exp
@@ -0,0 +1,9 @@
+error[E04005]: expected a single type
+ ┌─ tests/move_check/typing/assign_tuple.move:12:13
+ │
+ 7 │ fun tuple(x: u64): (u64, S) {
+ │ -------- Expected a single type, but found expression list type: '(u64, 0x42::tuple_invalid::S)'
+ ·
+12 │ let x = tuple(x);
+ │ ^ Invalid type for local
+
diff --git a/third_party/move/move-compiler/tests/move_check/typing/assign_tuple.move b/third_party/move/move-compiler/tests/move_check/typing/assign_tuple.move
new file mode 100644
index 00000000000000..bcba65ad8363c8
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/typing/assign_tuple.move
@@ -0,0 +1,15 @@
+module 0x42::tuple_invalid {
+
+ struct S {
+ f: u64,
+ }
+
+ fun tuple(x: u64): (u64, S) {
+ (x, S{f: x + 1})
+ }
+
+ fun use_tuple1(x: u64): u64 {
+ let x = tuple(x);
+ 1
+ }
+}
diff --git a/third_party/move/move-compiler/tests/move_check/typing/tuple.move b/third_party/move/move-compiler/tests/move_check/typing/tuple.move
new file mode 100644
index 00000000000000..ae3958d3b8e6c7
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/typing/tuple.move
@@ -0,0 +1,15 @@
+module 0x42::tuple {
+
+ struct S {
+ f: u64,
+ }
+
+ fun tuple(x: u64): (u64, S) {
+ (x, S{f: x + 1})
+ }
+
+ fun use_tuple(x: u64): u64 {
+ let (x, S{f: y}) = tuple(x);
+ x + y
+ }
+}
diff --git a/third_party/move/move-compiler/tests/move_check/unit_test/extra_attributes.move b/third_party/move/move-compiler/tests/move_check/unit_test/extra_attributes.move
index 33bf5eda301428..11ff5533c4f37a 100644
--- a/third_party/move/move-compiler/tests/move_check/unit_test/extra_attributes.move
+++ b/third_party/move/move-compiler/tests/move_check/unit_test/extra_attributes.move
@@ -23,5 +23,4 @@ module 0x1::m {
#[test]
#[expected_failure(major_status=4016, minor_code=0, location=Self)]
fun t4() { }
-
}
diff --git a/third_party/move/move-compiler/tests/move_check/unit_test/extra_attributes2.move b/third_party/move/move-compiler/tests/move_check/unit_test/extra_attributes2.move
new file mode 100644
index 00000000000000..ba09afd866987b
--- /dev/null
+++ b/third_party/move/move-compiler/tests/move_check/unit_test/extra_attributes2.move
@@ -0,0 +1,23 @@
+// tests non-abort related execution failures with errors in attributes
+module 0x1::n {}
+module 0x1::m {
+ #[test]
+ #[expected_failure(arithmetic_error, location=Self)]
+ fun t5() { }
+
+ #[test]
+ #[expected_failure(abort_code=3, test, location=Self)]
+ fun t6() { }
+
+ #[test]
+ #[expected_failure(vector_error, test_only, location=Self)]
+ fun t7() { }
+
+ #[test_only]
+ #[expected_failure(bytecode_instruction, location=Self)]
+ fun t8() { }
+
+ #[test]
+ #[expected_failure(verify_only)]
+ fun t9() { }
+}
diff --git a/third_party/move/tools/move-cli/tests/build_tests/dependency_chain/args.exp b/third_party/move/tools/move-cli/tests/build_tests/dependency_chain/args.exp
index ea1be9b5e0ceeb..46931d7174c7c7 100644
--- a/third_party/move/tools/move-cli/tests/build_tests/dependency_chain/args.exp
+++ b/third_party/move/tools/move-cli/tests/build_tests/dependency_chain/args.exp
@@ -2,3 +2,9 @@ Command `build -v`:
INCLUDING DEPENDENCY Bar
INCLUDING DEPENDENCY Foo
BUILDING A
+warning[W02016]: unknown attribute
+ ┌─ ./sources/A.move:1:3
+ │
+1 │ #[evm_contract] // for passing evm test flavor
+ │ ^^^^^^^^^^^^ Attribute name 'evm_contract' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
diff --git a/third_party/move/tools/move-cli/tests/build_tests/dev_address/args.exp b/third_party/move/tools/move-cli/tests/build_tests/dev_address/args.exp
index fa89fc39cc0e82..6d43848bd756ef 100644
--- a/third_party/move/tools/move-cli/tests/build_tests/dev_address/args.exp
+++ b/third_party/move/tools/move-cli/tests/build_tests/dev_address/args.exp
@@ -1,2 +1,8 @@
Command `build -v -d`:
BUILDING A
+warning[W02016]: unknown attribute
+ ┌─ ./sources/A.move:1:3
+ │
+1 │ #[evm_contract] // for passing evm test flavor
+ │ ^^^^^^^^^^^^ Attribute name 'evm_contract' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
diff --git a/third_party/move/tools/move-cli/tests/build_tests/empty_module_no_deps/args.exp b/third_party/move/tools/move-cli/tests/build_tests/empty_module_no_deps/args.exp
index dffc3c3b344deb..981f783b212586 100644
--- a/third_party/move/tools/move-cli/tests/build_tests/empty_module_no_deps/args.exp
+++ b/third_party/move/tools/move-cli/tests/build_tests/empty_module_no_deps/args.exp
@@ -1,2 +1,8 @@
Command `build -v`:
BUILDING A
+warning[W02016]: unknown attribute
+ ┌─ ./sources/A.move:1:3
+ │
+1 │ #[evm_contract] // for passing evm test flavor
+ │ ^^^^^^^^^^^^ Attribute name 'evm_contract' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
diff --git a/third_party/move/tools/move-cli/tests/build_tests/include_exclude_stdlib/args.exp b/third_party/move/tools/move-cli/tests/build_tests/include_exclude_stdlib/args.exp
index ce37b1cf91b5a5..1d60e31b47be4f 100644
--- a/third_party/move/tools/move-cli/tests/build_tests/include_exclude_stdlib/args.exp
+++ b/third_party/move/tools/move-cli/tests/build_tests/include_exclude_stdlib/args.exp
@@ -1,5 +1,11 @@
Command `build -v`:
BUILDING build_include_exclude_stdlib
+warning[W02016]: unknown attribute
+ ┌─ ./sources/UseSigner.move:1:3
+ │
+1 │ #[evm_contract] // for passing evm test flavor
+ │ ^^^^^^^^^^^^ Attribute name 'evm_contract' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
error[E03002]: unbound module
┌─ ./sources/UseSigner.move:3:7
│
@@ -15,3 +21,9 @@ error[E03002]: unbound module
Command `-d -v build`:
INCLUDING DEPENDENCY MoveStdlib
BUILDING build_include_exclude_stdlib
+warning[W02016]: unknown attribute
+ ┌─ ./sources/UseSigner.move:1:3
+ │
+1 │ #[evm_contract] // for passing evm test flavor
+ │ ^^^^^^^^^^^^ Attribute name 'evm_contract' is unknown (use --skip-attribute-checks CLI option to ignore); known attributes are '{"bytecode_instruction", "deprecated", "expected_failure", "native_interface", "test", "test_only", "verify_only"}'.
+
diff --git a/third_party/move/tools/move-cli/tests/build_tests/unbound_address/args.exp b/third_party/move/tools/move-cli/tests/build_tests/unbound_address/args.exp
index 47bf3e9d496172..46fb821f74f265 100644
--- a/third_party/move/tools/move-cli/tests/build_tests/unbound_address/args.exp
+++ b/third_party/move/tools/move-cli/tests/build_tests/unbound_address/args.exp
@@ -4,5 +4,5 @@ Named address 'A' in package 'A'
]
To fix this, add an entry for each unresolved address to the [addresses] section of ./Move.toml: e.g.,
[addresses]
-Std = "0x1"
+std = "0x1"
Alternatively, you can also define [dev-addresses] and call with the --dev flag
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps/Move.exp
index cb5253d17487a7..a562ec60f64d49 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps/Move.exp
@@ -18,5 +18,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_address_assigned/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_address_assigned/Move.exp
index 6ee4f9b85807e8..785be46e0eaad6 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_address_assigned/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_address_assigned/Move.exp
@@ -20,5 +20,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_address_not_assigned_with_dev_assignment/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_address_not_assigned_with_dev_assignment/Move.exp
index 7a2e6343a15ebc..44424a468b45e5 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_address_not_assigned_with_dev_assignment/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_address_not_assigned_with_dev_assignment/Move.exp
@@ -20,5 +20,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_test_mode/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_test_mode/Move.exp
index 0f8b1e0a0d4a62..d679d645623a1c 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_test_mode/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/basic_no_deps_test_mode/Move.exp
@@ -20,5 +20,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/diamond_problem_backflow_resolution/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/diamond_problem_backflow_resolution/Move.exp
index fe3846c31a1fa6..e45c1031f3d498 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/diamond_problem_backflow_resolution/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/diamond_problem_backflow_resolution/Move.exp
@@ -21,5 +21,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/diamond_problem_no_conflict/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/diamond_problem_no_conflict/Move.exp
index fe3846c31a1fa6..e45c1031f3d498 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/diamond_problem_no_conflict/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/diamond_problem_no_conflict/Move.exp
@@ -21,5 +21,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/multiple_deps_rename/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/multiple_deps_rename/Move.exp
index da8ed9338db000..e18b4560e1d2ed 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/multiple_deps_rename/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/multiple_deps_rename/Move.exp
@@ -22,5 +22,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/multiple_deps_rename_one/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/multiple_deps_rename_one/Move.exp
index bb13331e51006d..2eee90247064cb 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/multiple_deps_rename_one/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/multiple_deps_rename_one/Move.exp
@@ -22,5 +22,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep/Move.exp
index 04d6d3c40e95a6..eb858ed34d65f1 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep/Move.exp
@@ -20,5 +20,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_assigned_address/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_assigned_address/Move.exp
index 5da411f35697c7..5ff2f16628f812 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_assigned_address/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_assigned_address/Move.exp
@@ -20,5 +20,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_renamed/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_renamed/Move.exp
index 04d6d3c40e95a6..eb858ed34d65f1 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_renamed/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_renamed/Move.exp
@@ -20,5 +20,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_with_scripts/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_with_scripts/Move.exp
index 04d6d3c40e95a6..eb858ed34d65f1 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_with_scripts/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/one_dep_with_scripts/Move.exp
@@ -20,5 +20,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/compilation/test_symlinks/Move.exp b/third_party/move/tools/move-package/tests/test_sources/compilation/test_symlinks/Move.exp
index 6ee4f9b85807e8..785be46e0eaad6 100644
--- a/third_party/move/tools/move-package/tests/test_sources/compilation/test_symlinks/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/compilation/test_symlinks/Move.exp
@@ -20,5 +20,7 @@ CompiledPackageInfo {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
}
diff --git a/third_party/move/tools/move-package/tests/test_sources/parsing/invalid_identifier_package_name/Move.exp b/third_party/move/tools/move-package/tests/test_sources/parsing/invalid_identifier_package_name/Move.exp
index 21da7cb042776b..891d51523e3550 100644
--- a/third_party/move/tools/move-package/tests/test_sources/parsing/invalid_identifier_package_name/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/parsing/invalid_identifier_package_name/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/parsing/minimal_manifest/Move.exp b/third_party/move/tools/move-package/tests/test_sources/parsing/minimal_manifest/Move.exp
index 902cee9609a12a..d66c3ca089c6dd 100644
--- a/third_party/move/tools/move-package/tests/test_sources/parsing/minimal_manifest/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/parsing/minimal_manifest/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps/Move.exp
index 79e181224f8ba1..7868882c694508 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_assigned/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_assigned/Move.exp
index 2ab48f290b8c5e..af971a5488ef98 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_assigned/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_assigned/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_not_assigned/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_not_assigned/Move.exp
index 067d57d26ce134..286d76ea24d5ec 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_not_assigned/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_not_assigned/Move.exp
@@ -3,5 +3,5 @@ Named address 'A' in package 'test'
]
To fix this, add an entry for each unresolved address to the [addresses] section of tests/test_sources/resolution/basic_no_deps_address_not_assigned/Move.toml: e.g.,
[addresses]
-Std = "0x1"
+std = "0x1"
Alternatively, you can also define [dev-addresses] and call with the --dev flag
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_not_assigned_with_dev_assignment/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_not_assigned_with_dev_assignment/Move.exp
index 93c1ba97cdf971..ade5b69d908461 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_not_assigned_with_dev_assignment/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/basic_no_deps_address_not_assigned_with_dev_assignment/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/dep_good_digest/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/dep_good_digest/Move.exp
index 1692ad324087ae..3e052a4a249280 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/dep_good_digest/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/dep_good_digest/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/diamond_problem_backflow_resolution/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/diamond_problem_backflow_resolution/Move.exp
index cf5e6e183c4b7e..ea59fd6ea93613 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/diamond_problem_backflow_resolution/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/diamond_problem_backflow_resolution/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/diamond_problem_no_conflict/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/diamond_problem_no_conflict/Move.exp
index a55b459854f19b..9ef82bdfb100b3 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/diamond_problem_no_conflict/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/diamond_problem_no_conflict/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/multiple_deps_rename/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/multiple_deps_rename/Move.exp
index 3e792236e464fb..9ec3d07405ed9d 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/multiple_deps_rename/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/multiple_deps_rename/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep/Move.exp
index 78e15d8a03c816..c283da45cf4c3b 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_assigned_address/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_assigned_address/Move.exp
index e1d4eaab354a6d..478aaa186c3523 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_assigned_address/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_assigned_address/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_multiple_of_same_name/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_multiple_of_same_name/Move.exp
index 0540c070119c5d..83b6075587743f 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_multiple_of_same_name/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_multiple_of_same_name/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_reassigned_address/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_reassigned_address/Move.exp
index a590010df9ff46..02416ca1cb7760 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_reassigned_address/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_reassigned_address/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {
diff --git a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_unification_across_local_renamings/Move.exp b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_unification_across_local_renamings/Move.exp
index 8dc604a4dc5975..9480595537c417 100644
--- a/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_unification_across_local_renamings/Move.exp
+++ b/third_party/move/tools/move-package/tests/test_sources/resolution/one_dep_unification_across_local_renamings/Move.exp
@@ -14,6 +14,8 @@ ResolutionGraph {
fetch_deps_only: false,
skip_fetch_latest_git_deps: false,
bytecode_version: None,
+ known_attributes: {},
+ skip_attribute_checks: false,
},
root_package: SourceManifest {
package: PackageInfo {