clang-tidy: Enable cppcoreguidelines-special-member-functions
The check finds classes where some but not all of the special member
functions are defined.
By default the compiler defines a copy constructor, copy assignment
operator, move constructor, move assignment operator and destructor.
The default can be suppressed by explicit user-definitions. The
relationship between which functions will be suppressed by
definitions of other functions is complicated and it is advised that
all five are defaulted or explicitly defined.
Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Icbfd448b2bf78ebf99ec07b55220871e093cb899
diff --git a/test/mocked_activation_listener.hpp b/test/mocked_activation_listener.hpp
index cb8c939..092ab86 100644
--- a/test/mocked_activation_listener.hpp
+++ b/test/mocked_activation_listener.hpp
@@ -7,6 +7,13 @@
class MockedActivationListener : public ActivationListener
{
public:
+ MockedActivationListener() = default;
+ MockedActivationListener(const MockedActivationListener&) = delete;
+ MockedActivationListener&
+ operator=(const MockedActivationListener&) = delete;
+ MockedActivationListener(MockedActivationListener&&) = delete;
+ MockedActivationListener& operator=(MockedActivationListener&&) = delete;
+
~MockedActivationListener() override = default;
MOCK_METHOD2(onUpdateDone, void(const std::string& versionId,
diff --git a/test/mocked_association_interface.hpp b/test/mocked_association_interface.hpp
index ff25861..70e6d01 100644
--- a/test/mocked_association_interface.hpp
+++ b/test/mocked_association_interface.hpp
@@ -7,6 +7,14 @@
class MockedAssociationInterface : public AssociationInterface
{
public:
+ MockedAssociationInterface() = default;
+ MockedAssociationInterface(const MockedAssociationInterface&) = delete;
+ MockedAssociationInterface&
+ operator=(const MockedAssociationInterface&) = delete;
+ MockedAssociationInterface(MockedAssociationInterface&&) = delete;
+ MockedAssociationInterface&
+ operator=(MockedAssociationInterface&&) = delete;
+
~MockedAssociationInterface() override = default;
MOCK_METHOD1(createActiveAssociation, void(const std::string& path));
diff --git a/test/mocked_utils.hpp b/test/mocked_utils.hpp
index 219e25f..ef4baa5 100644
--- a/test/mocked_utils.hpp
+++ b/test/mocked_utils.hpp
@@ -8,6 +8,12 @@
class MockedUtils : public UtilsInterface
{
public:
+ MockedUtils() = default;
+ MockedUtils(const MockedUtils&) = delete;
+ MockedUtils& operator=(const MockedUtils&) = delete;
+ MockedUtils(MockedUtils&&) = delete;
+ MockedUtils& operator=(MockedUtils&&) = delete;
+
~MockedUtils() override = default;
MOCK_CONST_METHOD1(getPSUInventoryPath,
diff --git a/test/test_activation.cpp b/test/test_activation.cpp
index 97b8ff3..f63ee11 100644
--- a/test/test_activation.cpp
+++ b/test/test_activation.cpp
@@ -22,6 +22,12 @@
using PropertyType = utils::UtilsInterface::PropertyType;
using Status = Activation::Status;
using RequestedStatus = Activation::RequestedActivations;
+
+ TestActivation(const TestActivation&) = delete;
+ TestActivation& operator=(const TestActivation&) = delete;
+ TestActivation(TestActivation&&) = delete;
+ TestActivation& operator=(TestActivation&&) = delete;
+
TestActivation() :
mockedUtils(
reinterpret_cast<const utils::MockedUtils&>(utils::getUtils()))
diff --git a/test/test_item_updater.cpp b/test/test_item_updater.cpp
index db1db8e..c231654 100644
--- a/test/test_item_updater.cpp
+++ b/test/test_item_updater.cpp
@@ -22,6 +22,11 @@
using Properties = ItemUpdater::Properties;
using PropertyType = utils::UtilsInterface::PropertyType;
+ TestItemUpdater(const TestItemUpdater&) = delete;
+ TestItemUpdater& operator=(const TestItemUpdater&) = delete;
+ TestItemUpdater(TestItemUpdater&&) = delete;
+ TestItemUpdater& operator=(TestItemUpdater&&) = delete;
+
TestItemUpdater() :
mockedUtils(
reinterpret_cast<const utils::MockedUtils&>(utils::getUtils()))
diff --git a/test/test_version.cpp b/test/test_version.cpp
index ad3a88f..7da0352 100644
--- a/test/test_version.cpp
+++ b/test/test_version.cpp
@@ -26,6 +26,11 @@
class TestVersion : public ::testing::Test
{
public:
+ TestVersion(const TestVersion&) = delete;
+ TestVersion& operator=(const TestVersion&) = delete;
+ TestVersion(TestVersion&&) = delete;
+ TestVersion& operator=(TestVersion&&) = delete;
+
TestVersion()
{
auto tmpPath = fs::temp_directory_path();