fix: Remove Arduino entry points
Improved flexibility by removing the Arduino entry points in favor of manual calls to setup/loop that the user can call from their entry point. This is the more common use case for Arudino. Also added the gtest/gmock_main files to the PlatformIO ignore list since we are not supporting that feature.
This commit is contained in:
		@@ -32,22 +32,6 @@
 | 
			
		||||
#include "gmock/gmock.h"
 | 
			
		||||
#include "gtest/gtest.h"
 | 
			
		||||
 | 
			
		||||
#ifdef ARDUINO
 | 
			
		||||
void setup() {
 | 
			
		||||
  // Since Arduino doesn't have a command line, fake out the argc/argv arguments
 | 
			
		||||
  int argc = 1;
 | 
			
		||||
  const auto arg0 = "PlatformIO";
 | 
			
		||||
  char* argv0 = const_cast<char*>(arg0);
 | 
			
		||||
  char** argv = &argv0;
 | 
			
		||||
 | 
			
		||||
  // Since Google Mock depends on Google Test, InitGoogleMock() is
 | 
			
		||||
  // also responsible for initializing Google Test.  Therefore there's
 | 
			
		||||
  // no need for calling testing::InitGoogleTest() separately.
 | 
			
		||||
  testing::InitGoogleMock(&argc, argv);
 | 
			
		||||
}
 | 
			
		||||
void loop() { RUN_ALL_TESTS(); }
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
// MS C++ compiler/linker has a bug on Windows (not on Windows CE), which
 | 
			
		||||
// causes a link error when _tmain is defined in a static library and UNICODE
 | 
			
		||||
// is enabled. For this reason instead of _tmain, main function is used on
 | 
			
		||||
@@ -68,4 +52,3 @@ GTEST_API_ int main(int argc, char** argv) {
 | 
			
		||||
  testing::InitGoogleMock(&argc, argv);
 | 
			
		||||
  return RUN_ALL_TESTS();
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user