test_location.cpp 1.09 KB
Newer Older
1 2 3
// This file is part of OpenCV project.
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at http://opencv.org/license.html.
4 5
#include "test_precomp.hpp"

6 7
namespace opencv_test { namespace {

8 9 10 11 12 13 14 15 16 17
/**
 * Tests whether the `CVVISUAL_LOCATION` macro (from /include/opencv2/call_meta_data.hpp)
 * works as expected, i.e. the instance of `cvv::impl::CallMetaData` as which it gets defined has the correct data.
 * The second test in this file checks wether a `cvv::impl::CallMataData` created by hand and with an empty
 * initializer list has no known location, as it is supposed to be.
 */

TEST(LocationTest, FileLineFunction)
{
	auto locationMacroResult = CVVISUAL_LOCATION;
18
	size_t line = __LINE__ - 1;
19
	auto file = __FILE__;
Alexander Alekhin's avatar
Alexander Alekhin committed
20
	auto fun = CV_Func;
21 22 23 24 25 26 27 28 29 30 31
	EXPECT_EQ(locationMacroResult.isKnown, true);
	EXPECT_EQ(locationMacroResult.file, file);
	EXPECT_EQ(locationMacroResult.line, line);
	EXPECT_EQ(locationMacroResult.function, fun);
}

TEST(LocationTest, EmptyLocation)
{
	cvv::impl::CallMetaData loc{};
	EXPECT_EQ(loc.isKnown, false);
}
32 33

}} // namespace