[libcamera-devel] [PATCH v2 2/3] test: media_device: Make MediaDeviceTest a MediaDevicePrintTest

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Jan 11 16:25:09 CET 2019


Hi Jacopo,

Thank you for the patch.

On Friday, 11 January 2019 15:27:04 EET Jacopo Mondi wrote:
> As a new class for test link handling will be added as a separate test,
> it makes no sense to have a generic "MediaDeviceTest" class. Rename it
> in "MediaDevicePrintTest", and make it run only printing test.
> 
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> ---
>  ...e_test.cpp => media_device_print_test.cpp} | 31 +++++++++----------
>  test/media_device/meson.build                 |  2 +-
>  2 files changed, 15 insertions(+), 18 deletions(-)
>  rename test/media_device/{media_device_test.cpp =>
> media_device_print_test.cpp} (79%)
> 
> diff --git a/test/media_device/media_device_test.cpp
> b/test/media_device/media_device_print_test.cpp similarity index 79%
> rename from test/media_device/media_device_test.cpp
> rename to test/media_device/media_device_print_test.cpp
> index c482b2e..9746afa 100644
> --- a/test/media_device/media_device_test.cpp
> +++ b/test/media_device/media_device_print_test.cpp
> @@ -1,10 +1,8 @@
>  /* SPDX-License-Identifier: GPL-2.0-or-later */
>  /*
> - * Copyright (C) 2018, Google Inc.
> + * Copyright (C) 2019, Google Inc.

2018-2019. You should use 2019 for new code only, and 2018-2019 for older code 
that is modified in 2019.

Apart from this,

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

I wonder whether this test shouldn't be replaced by something else down the 
road. Printing a media device graph isn't really a unit test, maybe we should 
instead create a test that looks up entities, pads and links through various 
means based on a known media graph (vimc ?) to test the API.

>   *
> - * media_device_test.cpp - Tests for the media device class.
> - *
> - * Test library for the media device class.
> + * media_device_print_test.cpp - Print out media devices
>   */
>  #include <iostream>
> 
> @@ -20,16 +18,16 @@ using namespace libcamera;
>  using namespace std;
> 
>  /*
> - * MediaDeviceTest object: runs a sequence of tests on all media
> - * devices found in the system.
> + * MediaDevicePrintTest takes all media devices found in the system and
> print
> + * them out to verify correctness.
>   *
>   * If no accessible media device is found, the test is skipped.
>   */
> -class MediaDeviceTest : public Test
> +class MediaDevicePrintTest : public Test
>  {
>  public:
> -	MediaDeviceTest() { }
> -	~MediaDeviceTest() { }
> +	MediaDevicePrintTest() { }
> +	~MediaDevicePrintTest() { }
> 
>  protected:
>  	int init() { return 0; }
> @@ -44,7 +42,7 @@ private:
>  	void printNode(const MediaPad *pad, ostream &os);
>  };
> 
> -void MediaDeviceTest::printNode(const MediaPad *pad, ostream &os)
> +void MediaDevicePrintTest::printNode(const MediaPad *pad, ostream &os)
>  {
>  	const MediaEntity *entity = pad->entity();
> 
> @@ -52,7 +50,7 @@ void MediaDeviceTest::printNode(const MediaPad *pad,
> ostream &os) << pad->index() << "]";
>  }
> 
> -void MediaDeviceTest::printLinkFlags(const MediaLink *link, ostream &os)
> +void MediaDevicePrintTest::printLinkFlags(const MediaLink *link, ostream
> &os) {
>  	unsigned int flags = link->flags();
> 
> @@ -68,7 +66,7 @@ void MediaDeviceTest::printLinkFlags(const MediaLink
> *link, ostream &os) * For each entity in the media graph, printout links
> directed to its sinks * and source pads.
>   */
> -void MediaDeviceTest::printMediaGraph(const MediaDevice &media, ostream
> &os)
> +void MediaDevicePrintTest::printMediaGraph(const MediaDevice &media, 
> ostream &os) {
>  	os << "\n" << media.driver() << " - " << media.devnode() << "\n\n";
> 
> @@ -110,7 +108,7 @@ void MediaDeviceTest::printMediaGraph(const MediaDevice
> &media, ostream &os) }
> 
>  /* Test a single media device. */
> -int MediaDeviceTest::testMediaDevice(const string devnode)
> +int MediaDevicePrintTest::testMediaDevice(const string devnode)
>  {
>  	MediaDevice dev(devnode);
>  	int ret;
> @@ -134,9 +132,8 @@ int MediaDeviceTest::testMediaDevice(const string
> devnode) if (ret)
>  		return ret;
> 
> -	/* Run tests in sequence. */
> +	/* Print out the media graph. */
>  	printMediaGraph(dev, cerr);
> -	/* TODO: add more tests here. */
> 
>  	dev.close();
> 
> @@ -145,7 +142,7 @@ int MediaDeviceTest::testMediaDevice(const string
> devnode)
> 
>  /* Run tests on all media devices. */
>  #define MAX_MEDIA_DEV 256
> -int MediaDeviceTest::run()
> +int MediaDevicePrintTest::run()
>  {
>  	const string devnode("/dev/media");
>  	unsigned int i;
> @@ -171,4 +168,4 @@ int MediaDeviceTest::run()
>  	return ret;
>  }
> 
> -TEST_REGISTER(MediaDeviceTest);
> +TEST_REGISTER(MediaDevicePrintTest);
> diff --git a/test/media_device/meson.build b/test/media_device/meson.build
> index 40f9ffa..e4bedb7 100644
> --- a/test/media_device/meson.build
> +++ b/test/media_device/meson.build
> @@ -1,5 +1,5 @@
>  media_device_tests = [
> -    ['media_device_test',               'media_device_test.cpp'],
> +    ['media_device_print_test',         'media_device_print_test.cpp'],
>  ]
> 
>  foreach t : media_device_tests

-- 
Regards,

Laurent Pinchart





More information about the libcamera-devel mailing list