[PATCH 08/11] virtio: sandbox: Bind RNG rather than block device
Andrew Scull
ascull at google.com
Thu Apr 7 12:16:08 CEST 2022
On Thu, 7 Apr 2022 at 08:20, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 3/31/22 12:09, Andrew Scull wrote:
> > The virtio-rng driver is extremely simple, making it suitable for
> > testing more of the virtio uclass logic. Have the sandbox driver bind
> > the virtio-rng driver rather than the virtio-blk driver so it can be
> > used in tests.
>
> test/dm/rng.c assumes that drivers/rng/sandbox_rng.c is providing the
> only RNG device.
>
> Does test/dm/virtio.c guarantee that no virtio-rng device is bound after
> the test is run?
My understanding was that dm_test_pre_run() in test/test-main.c reset
the driver model for each dm test, which would imply that nothing is
bound at the start of the test. Have I understood this correctly?
> Best regards
>
> Heinrich
>
> >
> > Signed-off-by: Andrew Scull <ascull at google.com>
> > ---
> > drivers/virtio/virtio_sandbox.c | 2 +-
> > test/dm/virtio.c | 8 ++++----
> > 2 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/virtio/virtio_sandbox.c b/drivers/virtio/virtio_sandbox.c
> > index a73b123454..5484ae3a1a 100644
> > --- a/drivers/virtio/virtio_sandbox.c
> > +++ b/drivers/virtio/virtio_sandbox.c
> > @@ -161,7 +161,7 @@ static int virtio_sandbox_probe(struct udevice *udev)
> >
> > /* fake some information for testing */
> > priv->device_features = BIT_ULL(VIRTIO_F_VERSION_1);
> > - uc_priv->device = VIRTIO_ID_BLOCK;
> > + uc_priv->device = VIRTIO_ID_RNG;
> > uc_priv->vendor = ('u' << 24) | ('b' << 16) | ('o' << 8) | 't';
> >
> > return 0;
> > diff --git a/test/dm/virtio.c b/test/dm/virtio.c
> > index d054ccfaa4..769945a0d8 100644
> > --- a/test/dm/virtio.c
> > +++ b/test/dm/virtio.c
> > @@ -25,10 +25,10 @@ static int dm_test_virtio_base(struct unit_test_state *uts)
> > ut_assertok(uclass_first_device(UCLASS_VIRTIO, &bus));
> > ut_assertnonnull(bus);
> >
> > - /* check the child virtio-blk device is bound */
> > + /* check the child virtio-rng device is bound */
> > ut_assertok(device_find_first_child(bus, &dev));
> > ut_assertnonnull(dev);
> > - ut_assertok(strcmp(dev->name, "virtio-blk#0"));
> > + ut_asserteq_str("virtio-rng#0", dev->name);
> >
> > /* check driver status */
> > ut_assertok(virtio_get_status(dev, &status));
> > @@ -54,7 +54,7 @@ static int dm_test_virtio_all_ops(struct unit_test_state *uts)
> > ut_assertok(uclass_first_device(UCLASS_VIRTIO, &bus));
> > ut_assertnonnull(bus);
> >
> > - /* check the child virtio-blk device is bound */
> > + /* check the child virtio-rng device is bound */
> > ut_assertok(device_find_first_child(bus, &dev));
> > ut_assertnonnull(dev);
> >
> > @@ -114,7 +114,7 @@ static int dm_test_virtio_remove(struct unit_test_state *uts)
> > ut_assertok(uclass_first_device(UCLASS_VIRTIO, &bus));
> > ut_assertnonnull(bus);
> >
> > - /* check the child virtio-blk device is bound */
> > + /* check the child virtio-rng device is bound */
> > ut_assertok(device_find_first_child(bus, &dev));
> > ut_assertnonnull(dev);
> >
>
More information about the U-Boot
mailing list