crosvm/libvda/tests/decode_tests.rs
Dennis Kempin f23f62c521 clippy: Fix libvda
Mostly issuses in bindings, which have just been suppressed.
The bindings will need to be regenerated in a separate CL.

BUG=b:192373803
TEST=./tools/presubmit

Change-Id: I653e4903778087943456fb82fc2643fed0f86314
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3439050
Reviewed-by: Noah Gold <nkgold@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2022-02-07 22:22:42 +00:00

58 lines
1.7 KiB
Rust

// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//! Integration tests using LibVDA fake decode implemenation.
use libvda::decode::*;
use libvda::*;
fn create_vda_instance() -> VdaInstance {
VdaInstance::new(VdaImplType::Fake).expect("failed to create VDAInstance")
}
#[test]
fn test_create_instance() {
let instance = create_vda_instance();
let caps = instance.get_capabilities();
assert_ne!(caps.input_formats.len(), 0);
assert_ne!(caps.output_formats.len(), 0);
}
#[test]
fn test_initialize_decode_session() {
let instance = create_vda_instance();
let _session = instance
.open_session(Profile::VP8)
.expect("failed to open a session for VP8");
}
#[test]
fn test_decode_and_get_picture_ready_fake() {
let instance = create_vda_instance();
let mut session = instance
.open_session(Profile::VP8)
.expect("failed to open a session");
// Call decode() with dummy arguments.
let fake_bitstream_id = 12345;
session
.decode(
fake_bitstream_id,
1, // fd
0, // offset
0, // bytes_used
)
.expect("failed to send a decode request");
// Since we are using the fake backend,
// we must get a event immediately after calling decode().
match session.read_event() {
Ok(Event::PictureReady { bitstream_id, .. }) => {
assert_eq!(bitstream_id, fake_bitstream_id);
}
Ok(event) => panic!("Obtained event is not PictureReady but {:?}", event),
Err(msg) => panic!("{}", msg),
}
}