anza-xyz / move

Move compiler targeting llvm supported backends
https://discord.gg/wFgfjG9J
Apache License 2.0
108 stars 33 forks source link

[Bug] Analyze failures in Move stdlib unit tests #326

Closed dmakarov closed 1 year ago

dmakarov commented 1 year ago

Running Move stdlib unit tests reveals several failures that need to be analyzed (this depends on acceptance of #324)

     Running `target/debug/move test --solana -p language/move-stdlib -t 1 -s`
BUILDING MoveStdlib
Running Move unit tests
[ PASS    ] 0x1::ascii_tests::printable_chars_dont_allow_newline
[ PASS    ] 0x1::ascii_tests::printable_chars_dont_allow_tab
[ PASS    ] 0x1::ascii_tests::test_ascii_chars
[ PASS    ] 0x1::ascii_tests::test_ascii_push_char_pop_char
[ PASS    ] 0x1::ascii_tests::test_ascii_push_chars
[ PASS    ] 0x1::ascii_tests::test_invalid_ascii_characters
[ PASS    ] 0x1::ascii_tests::test_nonvisible_chars
[ PASS    ] 0x1::ascii_tests::test_printable_chars
[ FAIL    ] 0x1::bcs_tests::bcs_address
[ PASS    ] 0x1::bcs_tests::bcs_bool
[ PASS    ] 0x1::bcs_tests::bcs_u128
[ PASS    ] 0x1::bcs_tests::bcs_u16
[ PASS    ] 0x1::bcs_tests::bcs_u256
[ PASS    ] 0x1::bcs_tests::bcs_u32
[ PASS    ] 0x1::bcs_tests::bcs_u64
[ PASS    ] 0x1::bcs_tests::bcs_u8
[ FAIL    ] 0x1::bcs_tests::bcs_vec_u8
[ FAIL    ] 0x1::bcs_tests::encode_128
[ FAIL    ] 0x1::bcs_tests::encode_129
[ PASS    ] 0x1::bit_vector_tests::empty_bitvector
[ PASS    ] 0x1::bit_vector_tests::index_bit_out_of_bounds
[ PASS    ] 0x1::bit_vector_tests::longest_sequence_no_set_nonzero_index
[ PASS    ] 0x1::bit_vector_tests::longest_sequence_no_set_zero_index
[ PASS    ] 0x1::bit_vector_tests::longest_sequence_one_set_zero_index
[ PASS    ] 0x1::bit_vector_tests::longest_sequence_two_set_nonzero_index
[ PASS    ] 0x1::bit_vector_tests::longest_sequence_with_break
[ PASS    ] 0x1::bit_vector_tests::set_bit_out_of_bounds
[ PASS    ] 0x1::bit_vector_tests::shift_left_at_size
[ PASS    ] 0x1::bit_vector_tests::shift_left_more_than_size
[ PASS    ] 0x1::bit_vector_tests::single_bit_bitvector
[ PASS    ] 0x1::bit_vector_tests::test_set_bit_and_index_basic
[ FAIL    ] 0x1::bit_vector_tests::test_set_bit_and_index_odd_size
[ FAIL    ] 0x1::bit_vector_tests::test_shift_left
[ PASS    ] 0x1::bit_vector_tests::test_shift_left_specific_amount
[ PASS    ] 0x1::bit_vector_tests::test_shift_left_specific_amount_to_unset_bit
[ PASS    ] 0x1::bit_vector_tests::unset_bit_out_of_bounds
[ PASS    ] 0x1::fixed_point32_tests::ceil_can_round_up_correctly
[ PASS    ] 0x1::fixed_point32_tests::ceil_will_not_change_if_number_already_integer
[ PASS    ] 0x1::fixed_point32_tests::create_div_zero
[ PASS    ] 0x1::fixed_point32_tests::create_from_rational_max_numerator_denominator
[ PASS    ] 0x1::fixed_point32_tests::create_from_u64_create_correct_fixed_point_number
[ PASS    ] 0x1::fixed_point32_tests::create_from_u64_throw_error_when_number_too_large
[ PASS    ] 0x1::fixed_point32_tests::create_overflow
[ PASS    ] 0x1::fixed_point32_tests::create_underflow
[ PASS    ] 0x1::fixed_point32_tests::create_zero
[ PASS    ] 0x1::fixed_point32_tests::divide_by_zero
[ PASS    ] 0x1::fixed_point32_tests::divide_overflow_large_numerator
[ PASS    ] 0x1::fixed_point32_tests::divide_overflow_small_divisore
[ PASS    ] 0x1::fixed_point32_tests::exact_divide
[ PASS    ] 0x1::fixed_point32_tests::exact_multiply
[ PASS    ] 0x1::fixed_point32_tests::floor_can_return_the_correct_number_one
[ PASS    ] 0x1::fixed_point32_tests::floor_can_return_the_correct_number_zero
[ PASS    ] 0x1::fixed_point32_tests::max_can_return_larger_fixed_point_number
[ PASS    ] 0x1::fixed_point32_tests::min_can_return_smaller_fixed_point_number
[ PASS    ] 0x1::fixed_point32_tests::multiply_overflow_large_multiplier
[ PASS    ] 0x1::fixed_point32_tests::multiply_overflow_small_multiplier
[ PASS    ] 0x1::fixed_point32_tests::multiply_truncates
[ PASS    ] 0x1::fixed_point32_tests::round_can_round_down_correctly
[ PASS    ] 0x1::fixed_point32_tests::round_can_round_up_correctly
[ PASS    ] 0x1::hash_tests::sha2_256_expected_hash
[ PASS    ] 0x1::hash_tests::sha3_256_expected_hash
[ PASS    ] 0x1::option_tests::borrow_mut_none
[ PASS    ] 0x1::option_tests::borrow_mut_some
[ PASS    ] 0x1::option_tests::borrow_with_default
[ PASS    ] 0x1::option_tests::destroy_none
[ PASS    ] 0x1::option_tests::destroy_none_some
[ PASS    ] 0x1::option_tests::destroy_some
[ PASS    ] 0x1::option_tests::destroy_some_none
[ PASS    ] 0x1::option_tests::destroy_with_default
[ PASS    ] 0x1::option_tests::extract_none
[ PASS    ] 0x1::option_tests::extract_some
[ PASS    ] 0x1::option_tests::fill_none
[ PASS    ] 0x1::option_tests::fill_some
[ PASS    ] 0x1::option_tests::get_with_default
[ PASS    ] 0x1::option_tests::into_vec_none
[ PASS    ] 0x1::option_tests::into_vec_some
[ PASS    ] 0x1::option_tests::option_borrow_none
[ PASS    ] 0x1::option_tests::option_borrow_some
[ PASS    ] 0x1::option_tests::option_contains
[ PASS    ] 0x1::option_tests::option_none_is_none
[ PASS    ] 0x1::option_tests::option_some_is_some
[ PASS    ] 0x1::option_tests::swap_none
[ PASS    ] 0x1::option_tests::swap_or_fill_none
[ PASS    ] 0x1::option_tests::swap_or_fill_some
[ PASS    ] 0x1::option_tests::swap_some
[ PASS    ] 0x1::string_tests::test_append
[ PASS    ] 0x1::string_tests::test_index_of
[ PASS    ] 0x1::string_tests::test_index_of_fail
[ PASS    ] 0x1::string_tests::test_insert
[ PASS    ] 0x1::string_tests::test_invalid_utf8
[ PASS    ] 0x1::string_tests::test_sub_string
[ PASS    ] 0x1::string_tests::test_sub_string_empty
[ PASS    ] 0x1::string_tests::test_sub_string_invalid_boundary
[ PASS    ] 0x1::string_tests::test_sub_string_invalid_index
[ PASS    ] 0x1::string_tests::test_valid_utf8
[ PASS    ] 0x1::vector_tests::append_empties_is_empty
[ PASS    ] 0x1::vector_tests::append_respects_order_empty_lhs
[ PASS    ] 0x1::vector_tests::append_respects_order_empty_rhs
[ PASS    ] 0x1::vector_tests::append_respects_order_nonempty_rhs_lhs
event 0: "panicked at 'index out of bounds: the len is 1 but the index is 1', language/move-native/src/vector.rs:516:69"
[ FAIL    ] 0x1::vector_tests::borrow_out_of_range
[ PASS    ] 0x1::vector_tests::destroy_empty
[ PASS    ] 0x1::vector_tests::destroy_empty_with_pops
event 0: "panicked at 'assertion failed: `(left == right)`\n  left: `1`,\n right: `0`', language/move-native/src/vector.rs:207:9"
[ FAIL    ] 0x1::vector_tests::destroy_non_empty
[ PASS    ] 0x1::vector_tests::get_set_work
[ PASS    ] 0x1::vector_tests::index_of_empty_not_has
[ PASS    ] 0x1::vector_tests::index_of_nonempty_has
[ PASS    ] 0x1::vector_tests::index_of_nonempty_has_multiple_occurences
[ PASS    ] 0x1::vector_tests::index_of_nonempty_not_has
[ PASS    ] 0x1::vector_tests::insert_at_end
[ PASS    ] 0x1::vector_tests::insert_out_of_range
[ PASS    ] 0x1::vector_tests::length
event 0: "panicked at 'popping from empty vec', language/move-native/src/vector.rs:695:51"
[ FAIL    ] 0x1::vector_tests::pop_out_of_range
[ PASS    ] 0x1::vector_tests::pop_push_back
[ PASS    ] 0x1::vector_tests::push_back_and_borrow
[ PASS    ] 0x1::vector_tests::remove_empty_vector
[ PASS    ] 0x1::vector_tests::remove_nonsingleton_vector
[ PASS    ] 0x1::vector_tests::remove_nonsingleton_vector_last_elem
[ PASS    ] 0x1::vector_tests::remove_out_of_bound_index
[ PASS    ] 0x1::vector_tests::remove_singleton_vector
[ PASS    ] 0x1::vector_tests::reverse_singleton_vector
[ PASS    ] 0x1::vector_tests::reverse_vector_empty
[ PASS    ] 0x1::vector_tests::reverse_vector_nonempty_even_length
[ PASS    ] 0x1::vector_tests::reverse_vector_nonempty_odd_length_non_singleton
[ PASS    ] 0x1::vector_tests::swap_different_indices
event 0: "panicked at 'index out of bounds: the len is 0 but the index is 0', language/move-native/src/vector.rs:728:62"
[ FAIL    ] 0x1::vector_tests::swap_empty
event 0: "panicked at 'index out of bounds: the len is 4 but the index is 10', language/move-native/src/vector.rs:728:62"
[ FAIL    ] 0x1::vector_tests::swap_out_of_range
[ PASS    ] 0x1::vector_tests::swap_remove_empty
[ PASS    ] 0x1::vector_tests::swap_remove_end_of_vector
[ PASS    ] 0x1::vector_tests::swap_remove_inside_vector
event 0: "panicked at 'index out of bounds: the len is 1 but the index is 1', language/move-native/src/vector.rs:728:62"
[ FAIL    ] 0x1::vector_tests::swap_remove_out_of_range
[ PASS    ] 0x1::vector_tests::swap_remove_singleton
[ PASS    ] 0x1::vector_tests::swap_same_index
[ PASS    ] 0x1::vector_tests::test_empty_is_empty
[ PASS    ] 0x1::vector_tests::test_insert
[ PASS    ] 0x1::vector_tests::test_natives_with_different_instantiations
[ PASS    ] 0x1::vector_tests::test_singleton_contains
[ PASS    ] 0x1::vector_tests::test_singleton_len
[ PASS    ] 0x1::vector_tests::vector_contains
[ FAIL    ] 0xa::type_name_tests::test_generics
[ PASS    ] 0xa::type_name_tests::test_ground_types
[ FAIL    ] 0xa::type_name_tests::test_multi_generics
[ FAIL    ] 0xa::type_name_tests::test_structs

Test Statistics:

┌─────────────────────────────────────────────────────────────────────────────┬────────────┬───────────────────────────┐
│                                  Test Name                                  │    Time    │         Gas Used          │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::ascii_tests::printable_chars_dont_allow_newline                        │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::ascii_tests::printable_chars_dont_allow_tab                            │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::ascii_tests::test_ascii_chars                                          │   0.012    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::ascii_tests::test_ascii_push_char_pop_char                             │   0.015    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::ascii_tests::test_ascii_push_chars                                     │   0.008    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::ascii_tests::test_invalid_ascii_characters                             │   0.023    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::ascii_tests::test_nonvisible_chars                                     │   0.008    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::ascii_tests::test_printable_chars                                      │   0.014    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::bcs_bool                                                    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::bcs_u128                                                    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::bcs_u16                                                     │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::bcs_u256                                                    │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::bcs_u32                                                     │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::bcs_u64                                                     │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::bcs_u8                                                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::empty_bitvector                                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::index_bit_out_of_bounds                              │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::longest_sequence_no_set_nonzero_index                │   0.004    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::longest_sequence_no_set_zero_index                   │   0.004    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::longest_sequence_one_set_zero_index                  │   0.004    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::longest_sequence_two_set_nonzero_index               │   0.004    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::longest_sequence_with_break                          │   0.014    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::set_bit_out_of_bounds                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::shift_left_at_size                                   │   0.025    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::shift_left_more_than_size                            │   0.010    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::single_bit_bitvector                                 │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::test_set_bit_and_index_basic                         │   0.005    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::test_shift_left_specific_amount                      │   0.064    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::test_shift_left_specific_amount_to_unset_bit         │   0.013    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::unset_bit_out_of_bounds                              │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::ceil_can_round_up_correctly                       │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::ceil_will_not_change_if_number_already_integer    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::create_div_zero                                   │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::create_from_rational_max_numerator_denominator    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::create_from_u64_create_correct_fixed_point_number │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::create_from_u64_throw_error_when_number_too_large │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::create_overflow                                   │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::create_underflow                                  │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::create_zero                                       │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::divide_by_zero                                    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::divide_overflow_large_numerator                   │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::divide_overflow_small_divisore                    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::exact_divide                                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::exact_multiply                                    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::floor_can_return_the_correct_number_one           │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::floor_can_return_the_correct_number_zero          │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::max_can_return_larger_fixed_point_number          │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::min_can_return_smaller_fixed_point_number         │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::multiply_overflow_large_multiplier                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::multiply_overflow_small_multiplier                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::multiply_truncates                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::round_can_round_down_correctly                    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::fixed_point32_tests::round_can_round_up_correctly                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::hash_tests::sha2_256_expected_hash                                     │   0.003    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::hash_tests::sha3_256_expected_hash                                     │   0.005    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::borrow_mut_none                                          │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::borrow_mut_some                                          │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::borrow_with_default                                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::destroy_none                                             │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::destroy_none_some                                        │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::destroy_some                                             │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::destroy_some_none                                        │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::destroy_with_default                                     │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::extract_none                                             │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::extract_some                                             │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::fill_none                                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::fill_some                                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::get_with_default                                         │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::into_vec_none                                            │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::into_vec_some                                            │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::option_borrow_none                                       │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::option_borrow_some                                       │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::option_contains                                          │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::option_none_is_none                                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::option_some_is_some                                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::swap_none                                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::swap_or_fill_none                                        │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::swap_or_fill_some                                        │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::option_tests::swap_some                                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_append                                              │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_index_of                                            │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_index_of_fail                                       │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_insert                                              │   0.002    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_invalid_utf8                                        │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_sub_string                                          │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_sub_string_empty                                    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_sub_string_invalid_boundary                         │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_sub_string_invalid_index                            │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::string_tests::test_valid_utf8                                          │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::append_empties_is_empty                                  │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::append_respects_order_empty_lhs                          │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::append_respects_order_empty_rhs                          │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::append_respects_order_nonempty_rhs_lhs                   │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::destroy_empty                                            │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::destroy_empty_with_pops                                  │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::get_set_work                                             │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::index_of_empty_not_has                                   │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::index_of_nonempty_has                                    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::index_of_nonempty_has_multiple_occurences                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::index_of_nonempty_not_has                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::insert_at_end                                            │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::insert_out_of_range                                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::length                                                   │   0.003    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::pop_push_back                                            │   0.004    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::push_back_and_borrow                                     │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::remove_empty_vector                                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::remove_nonsingleton_vector                               │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::remove_nonsingleton_vector_last_elem                     │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::remove_out_of_bound_index                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::remove_singleton_vector                                  │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::reverse_singleton_vector                                 │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::reverse_vector_empty                                     │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::reverse_vector_nonempty_even_length                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::reverse_vector_nonempty_odd_length_non_singleton         │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::swap_different_indices                                   │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::swap_remove_empty                                        │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::swap_remove_end_of_vector                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::swap_remove_inside_vector                                │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::swap_remove_singleton                                    │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::swap_same_index                                          │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::test_empty_is_empty                                      │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::test_insert                                              │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::test_natives_with_different_instantiations               │   0.003    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::test_singleton_contains                                  │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::test_singleton_len                                       │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::vector_contains                                          │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0xa::type_name_tests::test_ground_types                                     │   0.005    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::bcs_address                                                 │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::bcs_vec_u8                                                  │   0.000    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::encode_128                                                  │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bcs_tests::encode_129                                                  │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::test_set_bit_and_index_odd_size                      │   0.546    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::bit_vector_tests::test_shift_left                                      │   0.580    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::borrow_out_of_range                                      │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::destroy_non_empty                                        │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::pop_out_of_range                                         │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::swap_empty                                               │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::swap_out_of_range                                        │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0x1::vector_tests::swap_remove_out_of_range                                 │   0.001    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0xa::type_name_tests::test_generics                                         │   0.007    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0xa::type_name_tests::test_multi_generics                                   │   0.005    │             0             │
├─────────────────────────────────────────────────────────────────────────────┼────────────┼───────────────────────────┤
│ 0xa::type_name_tests::test_structs                                          │   0.004    │             0             │
└─────────────────────────────────────────────────────────────────────────────┴────────────┴───────────────────────────┘

Test failures:

Failures in 0x1::bcs_tests:

┌── bcs_address ──────
│ Test was not expected to error, but it aborted with code 0 originating in an unknown location rooted here
└──────────────────

┌── bcs_vec_u8 ──────
│ Test was not expected to error, but it aborted with code 0 originating in an unknown location rooted here
└──────────────────

┌── encode_128 ──────
│ Failed to run a program on Solana VM.
│
│
│ Err(CallDepthExceeded(12441, 64))
└──────────────────

┌── encode_129 ──────
│ Failed to run a program on Solana VM.
│
│
│ Err(CallDepthExceeded(12441, 64))
└──────────────────

Failures in 0x1::bit_vector_tests:

┌── test_set_bit_and_index_odd_size ──────
│ Failed to run a program on Solana VM.
│
│
│ Err(ExceededMaxInstructions(7703))
└──────────────────

┌── test_shift_left ──────
│ Failed to run a program on Solana VM.
│
│
│ Err(ExceededMaxInstructions(3415))
└──────────────────

Failures in 0x1::vector_tests:

┌── borrow_out_of_range ──────
│ Test did not abort with expected code. Expected test to abort with code 1, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── destroy_non_empty ──────
│ Test did not abort with expected code. Expected test to abort with code 3, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── pop_out_of_range ──────
│ Test did not abort with expected code. Expected test to abort with code 2, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── swap_empty ──────
│ Test did not abort with expected code. Expected test to abort with code 1, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── swap_out_of_range ──────
│ Test did not abort with expected code. Expected test to abort with code 1, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── swap_remove_out_of_range ──────
│ Test did not abort with expected code. Expected test to abort with code 1, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

Failures in 0xa::type_name_tests:

┌── test_generics ──────
│ Test was not expected to error, but it aborted with code 0 originating in an unknown location rooted here
└──────────────────

┌── test_multi_generics ──────
│ Test was not expected to error, but it aborted with code 0 originating in an unknown location rooted here
└──────────────────

┌── test_structs ──────
│ Test was not expected to error, but it aborted with code 0 originating in an unknown location rooted here
└──────────────────

Test result: FAILED. Total tests: 142; passed: 127; failed: 15
dmakarov commented 1 year ago

With corrections in #332 and changes to Solana VM configuration we're down to 7 failures

Test failures:

Failures in 0x1::bcs_tests:

┌── encode_128 ──────
│ Test was not expected to error, but it aborted with code 101 originating in an unknown location rooted here
└──────────────────

Failures in 0x1::vector_tests:

┌── borrow_out_of_range ──────
│ Test did not abort with expected code. Expected test to abort with code 1, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── destroy_non_empty ──────
│ Test did not abort with expected code. Expected test to abort with code 3, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── pop_out_of_range ──────
│ Test did not abort with expected code. Expected test to abort with code 2, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── swap_empty ──────
│ Test did not abort with expected code. Expected test to abort with code 1, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── swap_out_of_range ──────
│ Test did not abort with expected code. Expected test to abort with code 1, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

┌── swap_remove_out_of_range ──────
│ Test did not abort with expected code. Expected test to abort with code 1, but instead it aborted with code 101 originating in an unknown location rooted here
└──────────────────

Test result: FAILED. Total tests: 142; passed: 135; failed: 7
dmakarov commented 1 year ago

All failures are triaged and corresponding issues have been opened #329, #333, and #334.

Closing this issue.