blob: 3e108cdc35d0485f9dd0d501f1e803355a86b298 [file] [log] [blame]
Bin Meng4f89d492018-10-15 02:21:26 -07001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
4 */
5
6#include <common.h>
7#include <dm.h>
8#include <virtio_types.h>
9#include <virtio.h>
Bin Meng4f89d492018-10-15 02:21:26 -070010#include <dm/device-internal.h>
Bin Meng4f89d492018-10-15 02:21:26 -070011#include <dm/root.h>
12#include <dm/test.h>
Simon Glass0e1fad42020-07-19 10:15:37 -060013#include <dm/uclass-internal.h>
14#include <test/test.h>
Bin Meng4f89d492018-10-15 02:21:26 -070015#include <test/ut.h>
16
Bin Meng4f89d492018-10-15 02:21:26 -070017/* Test of the virtio driver that does not have required driver ops */
18static int dm_test_virtio_missing_ops(struct unit_test_state *uts)
19{
20 struct udevice *bus;
21
22 /* find the virtio device */
23 ut_assertok(uclass_find_device(UCLASS_VIRTIO, 1, &bus));
24
25 /*
26 * Probe the device should fail with error -ENOENT.
27 * See ops check in virtio_uclass_pre_probe().
28 */
29 ut_asserteq(-ENOENT, device_probe(bus));
30
31 return 0;
32}
Simon Glasse180c2b2020-07-28 19:41:12 -060033DM_TEST(dm_test_virtio_missing_ops, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);