From 43ce898014faabbe8ab1cdf714b7aad3d3c9b2a9 Mon Sep 17 00:00:00 2001 From: Isabella Gottardi Date: Wed, 8 Nov 2017 11:13:23 +0000 Subject: COMPMID-670 - Extend Sobel tests Change-Id: Ibf15544e8624977815ee355071a038c07e1f01c2 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/94874 Tested-by: Kaizen Reviewed-by: Georgios Pinitas --- tests/validation/NEON/Sobel.cpp | 148 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 136 insertions(+), 12 deletions(-) (limited to 'tests/validation/NEON/Sobel.cpp') diff --git a/tests/validation/NEON/Sobel.cpp b/tests/validation/NEON/Sobel.cpp index 99f9e1ff5d..e757d1db3c 100644 --- a/tests/validation/NEON/Sobel.cpp +++ b/tests/validation/NEON/Sobel.cpp @@ -100,19 +100,60 @@ DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(conca validate(dst_y.info()->padding(), dst_padding); } -FIXTURE_DATA_TEST_CASE(RunSmall, NESobel3x3Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", - Format::U8))) +TEST_SUITE(X) +FIXTURE_DATA_TEST_CASE(RunSmall, NESobel3x3Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_X))) { // Validate output ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(1)); validate(Accessor(_target.first), _reference.first, valid_region_x); +} +FIXTURE_DATA_TEST_CASE(RunLarge, NESobel3x3Fixture, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_X))) +{ + // Validate output + ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(1)); + validate(Accessor(_target.first), _reference.first, valid_region_x); +} +TEST_SUITE_END() +TEST_SUITE(Y) +FIXTURE_DATA_TEST_CASE(RunSmall, NESobel3x3Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_Y))) +{ + // Validate output ValidRegion valid_region_y = shape_to_valid_region(_reference.second.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(1)); validate(Accessor(_target.second), _reference.second, valid_region_y); } -FIXTURE_DATA_TEST_CASE(RunLarge, NESobel3x3Fixture, framework::DatasetMode::NIGHTLY, combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", - Format::U8))) +FIXTURE_DATA_TEST_CASE(RunLarge, NESobel3x3Fixture, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_Y))) +{ + // Validate output + ValidRegion valid_region_y = shape_to_valid_region(_reference.second.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(1)); + validate(Accessor(_target.second), _reference.second, valid_region_y); +} +TEST_SUITE_END() +TEST_SUITE(XY) +FIXTURE_DATA_TEST_CASE(RunSmall, NESobel3x3Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_XY))) +{ + // Validate output + ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(1)); + validate(Accessor(_target.first), _reference.first, valid_region_x); + + ValidRegion valid_region_y = shape_to_valid_region(_reference.second.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(1)); + validate(Accessor(_target.second), _reference.second, valid_region_y); +} + +FIXTURE_DATA_TEST_CASE(RunLarge, NESobel3x3Fixture, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_XY))) { // Validate output ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(1)); @@ -122,6 +163,7 @@ FIXTURE_DATA_TEST_CASE(RunLarge, NESobel3x3Fixture, framework::DatasetMode::NIGH validate(Accessor(_target.second), _reference.second, valid_region_y); } TEST_SUITE_END() +TEST_SUITE_END() TEST_SUITE(W5x5) using NESobel5x5Fixture = SobelValidationFixture; @@ -176,9 +218,48 @@ DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(conca validate(dst_x.info()->padding(), dst_padding); validate(dst_y.info()->padding(), dst_padding); } +TEST_SUITE(X) +FIXTURE_DATA_TEST_CASE(RunSmall, NESobel5x5Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_X))) +{ + // Validate output + ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(2)); + validate(Accessor(_target.first), _reference.first, valid_region_x); +} -FIXTURE_DATA_TEST_CASE(RunSmall, NESobel5x5Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", - Format::U8))) +FIXTURE_DATA_TEST_CASE(RunLarge, NESobel5x5Fixture, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_X))) +{ + // Validate output + ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(2)); + validate(Accessor(_target.first), _reference.first, valid_region_x); +} +TEST_SUITE_END() +TEST_SUITE(Y) +FIXTURE_DATA_TEST_CASE(RunSmall, NESobel5x5Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_Y))) +{ + // Validate output + ValidRegion valid_region_y = shape_to_valid_region(_reference.second.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(2)); + validate(Accessor(_target.second), _reference.second, valid_region_y); +} + +FIXTURE_DATA_TEST_CASE(RunLarge, NESobel5x5Fixture, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_Y))) +{ + // Validate output + ValidRegion valid_region_y = shape_to_valid_region(_reference.second.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(2)); + validate(Accessor(_target.second), _reference.second, valid_region_y); +} +TEST_SUITE_END() +TEST_SUITE(XY) +FIXTURE_DATA_TEST_CASE(RunSmall, NESobel5x5Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_XY))) { // Validate output ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(2)); @@ -188,8 +269,9 @@ FIXTURE_DATA_TEST_CASE(RunSmall, NESobel5x5Fixture, framework::DatasetMode::PREC validate(Accessor(_target.second), _reference.second, valid_region_y); } -FIXTURE_DATA_TEST_CASE(RunLarge, NESobel5x5Fixture, framework::DatasetMode::NIGHTLY, combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", - Format::U8))) +FIXTURE_DATA_TEST_CASE(RunLarge, NESobel5x5Fixture, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_XY))) { // Validate output ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(2)); @@ -199,6 +281,7 @@ FIXTURE_DATA_TEST_CASE(RunLarge, NESobel5x5Fixture, framework::DatasetMode::NIGH validate(Accessor(_target.second), _reference.second, valid_region_y); } TEST_SUITE_END() +TEST_SUITE_END() TEST_SUITE(W7x7) using NESobel7x7Fixture = SobelValidationFixture; @@ -253,9 +336,48 @@ DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(conca validate(dst_x.info()->padding(), dst_padding); validate(dst_y.info()->padding(), dst_padding); } +TEST_SUITE(X) +FIXTURE_DATA_TEST_CASE(RunSmall, NESobel7x7Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_X))) +{ + // Validate output + ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(3)); + validate(Accessor(_target.first), _reference.first, valid_region_x); +} + +FIXTURE_DATA_TEST_CASE(RunLarge, NESobel7x7Fixture, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_X))) +{ + // Validate output + ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(3)); + validate(Accessor(_target.first), _reference.first, valid_region_x); +} +TEST_SUITE_END() +TEST_SUITE(Y) +FIXTURE_DATA_TEST_CASE(RunSmall, NESobel7x7Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_Y))) +{ + // Validate output + ValidRegion valid_region_y = shape_to_valid_region(_reference.second.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(3)); + validate(Accessor(_target.second), _reference.second, valid_region_y); +} -FIXTURE_DATA_TEST_CASE(RunSmall, NESobel7x7Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", - Format::U8))) +FIXTURE_DATA_TEST_CASE(RunLarge, NESobel7x7Fixture, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_Y))) +{ + // Validate output + ValidRegion valid_region_y = shape_to_valid_region(_reference.second.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(3)); + validate(Accessor(_target.second), _reference.second, valid_region_y); +} +TEST_SUITE_END() +TEST_SUITE(XY) +FIXTURE_DATA_TEST_CASE(RunSmall, NESobel7x7Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_XY))) { // Validate output ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(3)); @@ -265,8 +387,9 @@ FIXTURE_DATA_TEST_CASE(RunSmall, NESobel7x7Fixture, framework::DatasetMode::PREC validate(Accessor(_target.second), _reference.second, valid_region_y); } -FIXTURE_DATA_TEST_CASE(RunLarge, NESobel7x7Fixture, framework::DatasetMode::NIGHTLY, combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", - Format::U8))) +FIXTURE_DATA_TEST_CASE(RunLarge, NESobel7x7Fixture, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large2DShapes(), datasets::BorderModes()), framework::dataset::make("Format", + Format::U8)), + framework::dataset::make("GradientDimension", GradientDimension::GRAD_XY))) { // Validate output ValidRegion valid_region_x = shape_to_valid_region(_reference.first.shape(), (_border_mode == BorderMode::UNDEFINED), BorderSize(3)); @@ -276,6 +399,7 @@ FIXTURE_DATA_TEST_CASE(RunLarge, NESobel7x7Fixture, framework::DatasetMode::NIGH validate(Accessor(_target.second), _reference.second, valid_region_y); } TEST_SUITE_END() +TEST_SUITE_END() TEST_SUITE_END() TEST_SUITE_END() -- cgit v1.2.1