diff --git a/cmake/cppcheck.cmake b/cmake/cppcheck.cmake
index 0f0416429527034f4cb413afef17df299c27f293..686a8abcdc7132a7208ec6163aaed78d9768d5c5 100644
--- a/cmake/cppcheck.cmake
+++ b/cmake/cppcheck.cmake
@@ -36,7 +36,7 @@ else()
   message(STATUS "Use cppcheck from: ${CPPCHECK_COMMAND}")
 endif()
 
-set(CPPCHECK_ARGUMENTS --enable=warning,performance,portability,missingInclude,unusedFunction,style --error-exitcode=1 --quiet --verbose)
+set(CPPCHECK_ARGUMENTS --enable=warning,performance,portability,missingInclude,style --suppress=unusedFunction --error-exitcode=1 --quiet --verbose)
 if(MSVC)
   list(APPEND CPPCHECK_ARGUMENTS --template=vs)
 elseif(CLANG)
diff --git a/conanfile.py b/conanfile.py
index ab6e629068d80040043338742031e58924b24a6a..6d5e5b28dfc0d18dbc30008208b2e66f45fa91cb 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -33,7 +33,7 @@ class ProjectPhoenix(ConanFile):
                 ("boost_optional/1.66.0@bincrafters/testing"),
                 ("boost_signals2/1.66.0@bincrafters/testing"), #still not working in stable, change whenever available (also boost_optional)
                 ("catch/1.12.0@RWTH-VR/thirdparty"),
-                ("cppcheck/1.82@RWTH-VR/thirdparty"),
+                ("cppcheck/1.84@RWTH-VR/thirdparty"),
                 ("cpplint/e8ffd7c@RWTH-VR/thirdparty"),
                 ("freeimage/3.17.0_2@RWTH-VR/thirdparty"),
                 ("gl/1.1.1@RWTH-VR/thirdparty"),
diff --git a/tests/src/mocks/openvr_mock.hpp b/tests/src/mocks/openvr_mock.hpp
index 2b0d15f92f91a2acb820db4f3f1fd871ba923aeb..38b02409278d868caf237b55a002dff137249a3e 100644
--- a/tests/src/mocks/openvr_mock.hpp
+++ b/tests/src/mocks/openvr_mock.hpp
@@ -269,7 +269,7 @@ class OPENVR_MOCK_EXPORT OpenVRMock {
   }
 
   OpenVRMock& operator=(const OpenVRMock&) = delete;
-  OpenVRMock& operator=(OpenVRMock&&) = default;
+  OpenVRMock& operator=(OpenVRMock&&) = delete;
 
   OpenVRMockInternal& Get() { return *mock_; }
   vr::IVRSystemMock& GetSystem() const { return *ivr_system_mock_; }
diff --git a/tests/src/mocks/sdl_mock.hpp b/tests/src/mocks/sdl_mock.hpp
index 10bfd11bf5a8f2b7d7d2e8231c1e53bbcaae68ef..1d00d1a68ce5b4aaf211871e66cb84680315e69b 100644
--- a/tests/src/mocks/sdl_mock.hpp
+++ b/tests/src/mocks/sdl_mock.hpp
@@ -66,7 +66,7 @@ class SDL_MOCK_EXPORT SdlMock {
   ~SdlMock() { delete mock_; }
 
   SdlMock& operator=(const SdlMock&) = delete;
-  SdlMock& operator=(SdlMock&&) = default;
+  SdlMock& operator=(SdlMock&&) = delete;
 
   SdlMockInternal& Get() { return *mock_; }
 
diff --git a/tests/src/test_vr_controller.cpp b/tests/src/test_vr_controller.cpp
index 628db4de69c0c41f45edd95c60b701181d830823..052a8ddd02495dd5a2902655c8b75a8a8ab5b182 100644
--- a/tests/src/test_vr_controller.cpp
+++ b/tests/src/test_vr_controller.cpp
@@ -44,7 +44,7 @@ auto first_call = std::make_shared<bool>(true);
 
 void CheckForButtonEvent(uint32_t openVR_event_type,
                          phx::VRController::ButtonEvent vr_cont_event,
-                         uint32_t button_id, std::string side,
+                         uint32_t button_id, const std::string& side,
                          bool expect_to_fire,
                          phx::VRController* vr_controller) {
   WHEN("a " + side +