rust-vmm / vm-virtio

virtio implementation
Apache License 2.0
361 stars 87 forks source link

DO NOT MERGE: Test with memoffset/unstable_offset_of feature #268

Closed joshlf closed 10 months ago

joshlf commented 10 months ago

Testing as part of rust-lang/rust#111839

Summary of the PR

Please summarize here why the changes in this PR are needed.

Requirements

Before submitting your PR, please make sure you addressed the following requirements:

joshlf commented 10 months ago

EDIT: Nevermind, I was just cd'd into the wrong directory. Still failing locally.

CI tests seem to fail because they only run on the stable compiler toolchain. I tried to get tests running locally again, and succeeded this time:

$ cargo +nightly test --features memoffset/unstable_offset_of
warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
    Finished test [unoptimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/virtio_bindings-00e893c1231e06e3)

running 78 tests
test virtio_blk::bindgen_test_layout_virtio_blk_config ... ok
test virtio_blk::bindgen_test_layout_virtio_blk_config_virtio_blk_geometry ... ok
test virtio_blk::bindgen_test_layout_virtio_blk_discard_write_zeroes ... ok
test virtio_blk::bindgen_test_layout_virtio_blk_outhdr ... ok
test virtio_blk::bindgen_test_layout_virtio_blk_zone_descriptor ... ok
test virtio_blk::bindgen_test_layout_virtio_blk_config_virtio_blk_zoned_characteristics ... ok
test virtio_blk::bindgen_test_layout_virtio_blk_zone_report ... ok
test virtio_blk::bindgen_test_layout_virtio_scsi_inhdr ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_box ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_cmd_get_edid ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_cmd_submit ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_ctrl_hdr ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_config ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_ctx_create ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_ctx_resource ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_ctx_destroy ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_cursor_pos ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_get_capset ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_get_capset_info ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_mem_entry ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_rect ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_assign_uuid ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_attach_backing ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_create_2d ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_create_3d ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_create_blob ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_flush ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_detach_backing ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_map_blob ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_unmap_blob ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resource_unref ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resp_capset ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resp_display_info ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resp_capset_info ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resp_display_info_virtio_gpu_display_one ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resp_map_info ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resp_edid ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_resp_resource_uuid ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_set_scanout ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_transfer_host_3d ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_set_scanout_blob ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_transfer_to_host_2d ... ok
test virtio_gpu::bindgen_test_layout_virtio_gpu_update_cursor ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_config ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_ctrl_coal_rx ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_ctrl_coal_tx ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_ctrl_mac ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_ctrl_hdr ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_ctrl_mq ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_hash_config ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_hdr ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_hdr_mrg_rxbuf ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_hdr_v1 ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_hdr_v1__bindgen_ty_1 ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1 ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2 ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3 ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_hdr_v1_hash ... ok
test virtio_net::generated::bindgen_test_layout_virtio_net_rss_config ... ok
test virtio_net::virtio_net_hdr_v1_default_debug ... ok
test virtio_net::virtio_net_hdr_v1_hex_debug ... ok
test virtio_net::virtio_net_hdr_v1_partial_eq ... ok
test virtio_ring::bindgen_test_layout_vring ... ok
test virtio_ring::bindgen_test_layout_vring_avail ... ok
test virtio_ring::bindgen_test_layout_vring_desc ... ok
test virtio_ring::bindgen_test_layout_vring_packed_desc ... ok
test virtio_ring::bindgen_test_layout_vring_packed_desc_event ... ok
test virtio_ring::bindgen_test_layout_vring_used ... ok
test virtio_ring::bindgen_test_layout_vring_used_elem ... ok
test virtio_scsi::bindgen_test_layout_virtio_scsi_cmd_req ... ok
test virtio_scsi::bindgen_test_layout_virtio_scsi_cmd_req_pi ... ok
test virtio_scsi::bindgen_test_layout_virtio_scsi_cmd_resp ... ok
test virtio_scsi::bindgen_test_layout_virtio_scsi_config ... ok
test virtio_scsi::bindgen_test_layout_virtio_scsi_ctrl_an_req ... ok
test virtio_scsi::bindgen_test_layout_virtio_scsi_ctrl_an_resp ... ok
test virtio_scsi::bindgen_test_layout_virtio_scsi_ctrl_tmf_req ... ok
test virtio_scsi::bindgen_test_layout_virtio_scsi_ctrl_tmf_resp ... ok
test virtio_scsi::bindgen_test_layout_virtio_scsi_event ... ok

test result: ok. 78 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/virtio_blk-30e69697e3b41607)

running 1 test
test request::tests::test_parse_request ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/virtio_console-432ac3ff3ff38400)

running 4 tests
test console::tests::test_default_console ... ok
test console::tests::test_input_buffer_operations ... ok
test console::tests::test_process_transmitq_chain ... ok
test console::tests::test_process_receiveq_chain ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/virtio_device-2331bc42fe397b3c)

running 3 tests
test mmio::tests::test_virtio_mmio_device ... ok
test tests::test_ack_device_status ... ok
test virtio_config::tests::test_impls ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/virtio_queue-9e7d50ace247dd58)

running 29 tests
test chain::tests::test_indirect_descriptor_address_noaligned ... ok
test chain::tests::test_checked_new_descriptor_chain ... ok
test chain::tests::test_new_from_indirect_descriptor ... ok
test descriptor::tests::test_descriptor_copy ... ok
test chain::tests::test_ttl_wrap_around ... ok
test chain::tests::test_indirect_descriptor_err ... ok
test descriptor::tests::test_descriptor_getter_setter ... ok
test descriptor::tests::test_descriptor_offset ... ok
test descriptor::tests::test_used_elem_copy ... ok
test descriptor::tests::test_used_elem_offset ... ok
test queue::tests::test_add_used ... ok
test queue::tests::test_consume_chains_with_notif ... ok
test queue::tests::test_descriptor_and_iterator ... ok
test queue::tests::test_invalid_avail_idx ... ok
test queue::tests::test_enable_disable_notification ... ok
test queue::tests::test_iterator ... ok
test queue::tests::test_iterator_and_avail_idx ... ok
test queue::tests::test_queue_is_valid ... ok
test queue::tests::test_regression_iterator_division ... ok
test queue::tests::test_reset_queue ... ok
test queue::tests::test_regression_timeout_after_reset ... ok
test queue::tests::test_setters_error_cases ... ok
test queue_sync::tests::test_enable_disable_notification ... ok
test queue_sync::tests::test_state_sync_add_used ... ok
test queue_sync::tests::test_sync_state_reset_queue ... ok
test state::tests::test_empty_queue_state ... ok
test state::tests::test_invalid_queue_state ... ok
test queue_sync::tests::test_queue_state_sync ... ok
test queue::tests::test_needs_notification ... ok

test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running unittests src/lib.rs (target/debug/deps/virtio_queue_ser-d4d5354ddeaca918)

running 2 tests
test state::tests::test_ser_with_len_zero ... ok
test state::tests::test_state_ser ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/virtio_vsock-19ab218258ccecb6)

running 6 tests
test packet::tests::test_from_rx_virtq_chain ... ok
test packet::tests::test_packet_new ... ok
test packet::tests::test_from_tx_virtq_chain ... ok
test packet::tests::test_header_set_get ... ok
test packet::tests::test_set_header_from_raw ... ok
test packet::tests::test_set_header_field_with_invalid_offset - should panic ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests virtio-bindings

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests virtio-blk

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests virtio-console

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests virtio-device

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests virtio-queue

running 4 tests
test crates/virtio-queue/src/queue_sync.rs - queue_sync::QueueSync (line 19) ... ok
test crates/virtio-queue/src/queue.rs - queue::Queue (line 35) ... ok
test crates/virtio-queue/src/descriptor.rs - descriptor::Descriptor (line 23) ... ok
test crates/virtio-queue/src/queue.rs - queue::AvailIter (line 634) ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.54s

   Doc-tests virtio-queue-ser

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests virtio-vsock

running 4 tests
test crates/devices/virtio-vsock/src/packet.rs - packet::VsockPacket<'a,()>::new (line 657) ... ok
test crates/devices/virtio-vsock/src/packet.rs - packet::VsockPacket<'a,B>::from_rx_virtq_chain (line 516) ... ok
test crates/devices/virtio-vsock/src/packet.rs - packet::VsockPacket<'a,B>::set_header_from_raw (line 195) ... ok
test crates/devices/virtio-vsock/src/packet.rs - packet::VsockPacket<'a,B>::from_tx_virtq_chain (line 375) ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s