├── .gitattributes ├── .gitconfig ├── .gitignore ├── .gitmodules ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Common.props ├── FilesToScan.ps1 ├── GoogleTestAdapter ├── .gitignore ├── Common.Dynamic.GTA │ ├── .gitignore │ ├── Common.Dynamic.GTA.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Common.Dynamic.TAfGT │ ├── .gitignore │ ├── Common.Dynamic.TAfGT.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Common │ ├── .gitignore │ ├── Common.csproj │ ├── CommonResources.cs │ ├── DebuggerAttacherServiceConfiguration.cs │ ├── IDebuggerAttacherService.cs │ ├── ILogger.cs │ ├── LoggerBase.cs │ ├── ProcessWaiter.cs │ └── Properties │ │ └── AssemblyInfo.cs ├── Core.Tests │ ├── .gitignore │ ├── AbstractGoogleTestDiscovererTraitTests.cs │ ├── Core.Tests.csproj │ ├── GoogleTestDiscoverDebugTraitTests.cs │ ├── GoogleTestDiscoverReleaseTraitTests.cs │ ├── GoogleTestDiscovererTests.cs │ ├── GoogleTestExecutorTests.cs │ ├── Helpers │ │ ├── ByteUtilsTests.cs │ │ ├── DebugUtilsTests.cs │ │ ├── ProcessExecutorTests.cs │ │ ├── RegexTraitParserTests.cs │ │ ├── TestEnvironmentTests.cs │ │ ├── TestProcessLauncherTests.cs │ │ └── UtilsTests.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Runners │ │ ├── CommandLineGeneratorTests.cs │ │ └── SequentialTestRunnerTests.cs │ ├── Scheduling │ │ ├── DurationBasedTestsSplitterTests.cs │ │ ├── NumberBasedTestsSplitterTests.cs │ │ └── TestDurationSerializerTests.cs │ ├── Settings │ │ └── SettingsWrapperTests.cs │ ├── TestCases │ │ ├── ListTestsParserTests.cs │ │ └── TestCaseFactoryTests.cs │ ├── TestResults │ │ ├── ErrorMessageParserTests.cs │ │ ├── StandardOutputTestResultParserTests.cs │ │ ├── StreamingStandardOutputTestResultParserTests.cs │ │ └── XmlTestResultParserTests.cs │ └── app.config.tt ├── Core │ ├── .gitignore │ ├── Core.csproj │ ├── Framework │ │ ├── IDebuggedProcessLauncher.cs │ │ ├── IDebuggerAttacher.cs │ │ ├── IProcessExecutor.cs │ │ ├── ITestFrameworkReporter.cs │ │ └── TestRunCanceledException.cs │ ├── GoogleTestConstants.cs │ ├── GoogleTestDiscoverer.cs │ ├── GoogleTestExecutor.cs │ ├── GtaTestDurations.xsd │ ├── Helpers │ │ ├── ByteUtils.cs │ │ ├── DebugUtils.cs │ │ ├── Extensions.cs │ │ ├── ProcessExecutor.cs │ │ ├── ProcessLauncher.cs │ │ ├── RegexTraitParser.cs │ │ ├── TestProcessLauncher.cs │ │ └── Utils.cs │ ├── Model │ │ ├── TestCase.cs │ │ ├── TestCaseMetaDataProperty.cs │ │ ├── TestProperty.cs │ │ ├── TestResult.cs │ │ └── Trait.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Resources │ │ ├── GTA_Traits_1.7.0.h │ │ └── GTA_Traits_1.8.0.h │ ├── Runners │ │ ├── CommandLineGenerator.cs │ │ ├── ITestRunner.cs │ │ ├── ParallelTestRunner.cs │ │ ├── PreparingTestRunner.cs │ │ ├── SequentialTestRunner.cs │ │ └── TestResultCollector.cs │ ├── Scheduling │ │ ├── DurationBasedTestsSplitter.cs │ │ ├── ITestsSplitter.cs │ │ ├── NumberBasedTestsSplitter.cs │ │ ├── SchedulingAnalyzer.cs │ │ └── TestDurationSerializer.cs │ ├── Settings │ │ ├── IGoogleTestAdapterSettings.cs │ │ ├── IGoogleTestAdapterSettingsContainer.cs │ │ ├── ITestPropertySettings.cs │ │ ├── ITestPropertySettingsContainer.cs │ │ ├── RunSettings.cs │ │ ├── SettingsSerializationContainer.cs │ │ └── SettingsWrapper.cs │ ├── TestCases │ │ ├── ListTestsParser.cs │ │ ├── MethodSignatureCreator.cs │ │ ├── NewTestCaseResolver.cs │ │ ├── StreamingListTestsParser.cs │ │ ├── TestCaseDescriptor.cs │ │ ├── TestCaseFactory.cs │ │ ├── TestCaseLocation.cs │ │ └── TestCaseResolver.cs │ └── TestResults │ │ ├── ErrorMessageParser.cs │ │ ├── StandardOutputTestResultParser.cs │ │ ├── StreamingStandardOutputTestResultParser.cs │ │ └── XmlTestResultParser.cs ├── CrashingExe │ ├── CrashingExe.cpp │ ├── CrashingExe.vcxproj │ ├── CrashingExe.vcxproj.filters │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── DiaResolver.Tests │ ├── .gitignore │ ├── DiaResolver.Tests.csproj │ ├── DiaResolverTests.cs │ ├── PeParserTests.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── app.config.tt ├── DiaResolver │ ├── .gitignore │ ├── DefaultDiaResolverFactory.cs │ ├── DiaFactory.cs │ ├── DiaMemoryStream.cs │ ├── DiaResolver.cs │ ├── DiaResolver.csproj │ ├── IClassFactory.cs │ ├── IDiaResolver.cs │ ├── IDiaResolverFactory.cs │ ├── PeParser.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── SourceFileLocation.cs │ ├── arm │ │ └── .gitignore │ ├── arm64 │ │ └── .gitignore │ ├── dia2 │ │ ├── .gitignore │ │ └── compile_typelib.ps1 │ ├── x64 │ │ └── .gitignore │ └── x86 │ │ └── .gitignore ├── FailingExe │ ├── FailingExe.cpp │ ├── FailingExe.vcxproj │ ├── FailingExe.vcxproj.filters │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── FakeGtestDll │ ├── Application.cpp │ ├── FakeGtestDllApplication-x64.vcxproj │ ├── FakeGtestDllApplication-x64.vcxproj.filters │ ├── FakeGtestDllApplication.vcxproj │ ├── FakeGtestDllApplication.vcxproj.filters │ ├── FakeGtestDllLibrary-x64.vcxproj │ ├── FakeGtestDllLibrary-x64.vcxproj.filters │ ├── FakeGtestDllLibrary.vcxproj │ ├── FakeGtestDllLibrary.vcxproj.filters │ └── Library.cpp ├── GoogleTestAdapter.ChildProcessDbgSettings ├── GoogleTestAdapter.sln ├── GoogleTestItemTemplate │ ├── GoogleTest.vstemplate │ ├── GoogleTestItemTemplate.csproj │ ├── Icon.ico │ └── test.cpp ├── GoogleTestProjectTemplate │ ├── GoogleTest.vcxproj │ ├── GoogleTest.vstemplate │ ├── GoogleTestProjectTemplate.csproj │ ├── Icon.ico │ ├── pch.cpp │ ├── pch.h │ └── test.cpp ├── Keys │ ├── Key_Debug.snk │ └── Key_Release.snk.enc ├── NewProjectWizard │ ├── App.config │ ├── ControlResources.xaml │ ├── IWizardData.cs │ ├── Key.snk │ ├── NewProjectWizard.csproj │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── SinglePageWizardDialog.xaml │ ├── SinglePageWizardDialog.xaml.cs │ ├── ThemedDialogResources.xaml │ └── WizardImplementation.cs ├── Packages │ └── README.md ├── Packaging.GTA │ ├── .gitignore │ ├── LICENSE.txt │ ├── Packaging.GTA.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources │ │ └── Preview.png │ ├── VsPackage.nuspec │ ├── VsPackage.targets │ └── source.extension.vsixmanifest ├── Packaging.TAfGT │ ├── .gitignore │ ├── ItemTemplates │ │ └── VC │ │ │ └── Test │ │ │ └── Test.VSTDIR │ ├── Packaging.TAfGT.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ReleaseNotes.txt │ ├── Resources │ │ └── Preview.png │ ├── ThirdPartyNotices.txt │ ├── cs │ │ └── Extension.vsixlangpack │ ├── de │ │ └── Extension.vsixlangpack │ ├── es │ │ └── Extension.vsixlangpack │ ├── fr │ │ └── Extension.vsixlangpack │ ├── it │ │ └── Extension.vsixlangpack │ ├── ja │ │ └── Extension.vsixlangpack │ ├── ko │ │ └── Extension.vsixlangpack │ ├── pl │ │ └── Extension.vsixlangpack │ ├── pt-BR │ │ └── Extension.vsixlangpack │ ├── ru │ │ └── Extension.vsixlangpack │ ├── source.extension.vsixmanifest │ ├── tr │ │ └── Extension.vsixlangpack │ ├── use.txt │ ├── zh-Hans │ │ └── Extension.vsixlangpack │ └── zh-Hant │ │ └── Extension.vsixlangpack ├── Resources │ ├── AllTestSettings.gta.runsettings │ └── Icons │ │ ├── Icon.ico │ │ ├── Icon_128.png │ │ ├── README.md │ │ └── toolbaricons.png ├── SampleTestsBuilder │ ├── Properties │ │ └── AssemblyInfo.cs │ └── SampleTestsBuilder.csproj ├── SemaphoreExe │ ├── SemaphoreExe.cpp │ └── SemaphoreExe.vcxproj ├── SetVersion.bat ├── SetVersion.ps1 ├── TenSecondsWaiter │ ├── App.config │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── TenSecondsWaiter.csproj ├── TestAdapter.Tests │ ├── .gitignore │ ├── Framework │ │ ├── DebuggedProcessLauncherTests.cs │ │ ├── VsTestFrameworkLoggerTests.cs │ │ └── VsTestFrameworkReporterTests.cs │ ├── Helpers │ │ ├── TestCaseFilterTests.cs │ │ └── ThrottleTests.cs │ ├── IgnoreTests.bat │ ├── IgnoreTests.ps1 │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Settings │ │ ├── RunSettingsContainerTests.cs │ │ ├── RunSettingsProviderTests.cs │ │ ├── runsettings.csv │ │ └── runsettings.pictmodel │ ├── TestAdapter.Tests.csproj │ ├── TestAdapterTestsBase.cs │ ├── TestDiscovererTests.cs │ ├── TestExecutorParallelTests.cs │ ├── TestExecutorSequentialTests.cs │ ├── TestExecutorTestsBase.cs │ └── app.config.tt ├── TestAdapter │ ├── .gitignore │ ├── CommonFunctions.cs │ ├── DataConversionExtensions.cs │ ├── Framework │ │ ├── AttachDebuggerMessage.cs │ │ ├── DebuggedProcessLauncher.cs │ │ ├── MessageBasedDebuggerAttacher.cs │ │ ├── VSTestFrameworkReporter.cs │ │ ├── VsTestFrameworkLogger.cs │ │ └── VsVersion.cs │ ├── GoogleTestAdapterSettings.xsd │ ├── Helpers │ │ ├── ParentProcessUtils.cs │ │ ├── TestCaseFilter.cs │ │ └── Throttle.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings │ │ ├── GlobalRunSettingsProvider.cs │ │ ├── IGlobalRunSettings.cs │ │ ├── IGlobalRunSettingsInternal.cs │ │ ├── RunSettingsContainer.cs │ │ ├── RunSettingsProvider.cs │ │ ├── TestPropertySettings.cs │ │ ├── TestPropertySettingsContainer.cs │ │ └── TestPropertySettingsProvider.cs │ ├── TestAdapter.csproj │ ├── TestDiscoverer.cs │ ├── TestExecutor.cs │ ├── TestExecutorBranding.cs.tt │ └── TestPropertySettings.xsd ├── TestDiscoveryParam │ ├── Main.cpp │ ├── TestDiscoveryParam.vcxproj │ └── TestDiscoveryParam.vcxproj.filters ├── Tests.Common │ ├── .gitignore │ ├── AbstractConsoleIntegrationTests.cs.tt │ ├── AbstractConsoleTests.cs │ ├── Assertions │ │ └── FileAssertions.cs │ ├── Fakes │ │ ├── FakeFrameworkReporter.cs │ │ └── FakeLogger.cs │ ├── Helpers │ │ ├── CiSupport.cs │ │ ├── CsvReader.cs │ │ ├── RegistryKeyExtensions.cs │ │ ├── StringExtensions.cs │ │ ├── TestEnvironment.cs │ │ └── TestProcessLauncher.cs │ ├── Key.snk │ ├── Model │ │ └── TestRun.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── TestData │ │ │ ├── ListTests.runsettings │ │ │ ├── Project.runsettings │ │ │ ├── RunSettingsServiceTests │ │ │ │ ├── Provider_delivered.runsettings │ │ │ │ ├── Solution.gta.runsettings │ │ │ │ ├── User.runsettings │ │ │ │ └── User_WithoutRunSettingsNode.runsettings │ │ │ ├── SampleResult1 _Broken_InvalidStatusAttribute.xml │ │ │ ├── SampleResult1.xml │ │ │ ├── SampleResult1_Broken.xml │ │ │ ├── SampleResult2.xml │ │ │ ├── Solution.runsettings │ │ │ ├── SolutionProject.runsettings │ │ │ └── Tests_gta_exe_output.txt │ │ └── Trx2TestRun.xslt │ ├── ResultChecker │ │ ├── ResultChecker.cs │ │ └── TrxResultChecker.cs │ ├── TestDataCreator.cs │ ├── TestMetadata.cs │ ├── TestResources.cs │ ├── Tests.Common.csproj │ ├── TestsBase.cs │ └── app.config.tt ├── UnicodeNameExe │ ├── UnicodeNameExe.vcxproj │ ├── UnicodeNameExe.vcxproj.filters │ └── main.cpp ├── VsPackage.GTA.Tests.Unit │ ├── .gitignore │ ├── Debugging │ │ ├── DebuggerAttacherServiceTests.cs │ │ └── MessageBasedDebuggerAttacherTests.cs │ ├── Helpers │ │ └── RunSettingsServiceUnderTest.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ReleaseNotes │ │ ├── HistoryTests.cs │ │ └── ReleaseNotesCreatorTests.cs │ ├── Settings │ │ └── RunSettingsServiceTests.cs │ ├── VsPackage.GTA.Tests.Unit.csproj │ └── app.config.tt ├── VsPackage.GTA │ ├── .gitignore │ ├── AsyncPackage │ │ ├── AsyncPackageRegistrationAttribute.cs │ │ ├── ExtensionMethods.cs │ │ └── ProvideAutoLoadAttribute.cs │ ├── GoogleTestExtensionOptionsPage.cs │ ├── GoogleTestExtensionOptionsPage.vsct │ ├── OptionsPages │ │ └── GeneralOptionsDialogPage.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ReleaseNotes │ │ ├── History.cs │ │ ├── ReleaseNotesCreator.cs │ │ ├── ReleaseNotesDialog.Designer.cs │ │ ├── ReleaseNotesDialog.cs │ │ ├── ReleaseNotesDialog.resx │ │ └── VersionProvider.cs │ ├── Resources │ │ ├── ReleaseNotes │ │ │ ├── 0.1.0.md │ │ │ ├── 0.10.0.md │ │ │ ├── 0.10.1.md │ │ │ ├── 0.2.0.md │ │ │ ├── 0.2.1.md │ │ │ ├── 0.2.2.md │ │ │ ├── 0.2.3.md │ │ │ ├── 0.3.0.md │ │ │ ├── 0.4.0.md │ │ │ ├── 0.4.1.md │ │ │ ├── 0.5.0.md │ │ │ ├── 0.5.1.md │ │ │ ├── 0.6.0.md │ │ │ ├── 0.7.0.md │ │ │ ├── 0.7.1.md │ │ │ ├── 0.8.0.md │ │ │ ├── 0.9.0.md │ │ │ └── 0.9.1.md │ │ └── VSPackage.resx │ └── VsPackage.GTA.csproj ├── VsPackage.Shared │ ├── .gitignore │ ├── Commands │ │ ├── AbstractSwitchBooleanOptionCommand.cs │ │ ├── SwitchBreakOnFailureOptionCommand.cs │ │ ├── SwitchCatchExceptionsOptionCommand.cs │ │ ├── SwitchParallelExecutionOptionCommand.cs │ │ └── SwitchPrintTestOutputOptionCommand.cs │ ├── Debugging │ │ ├── DebuggerAttacherService.cs │ │ └── VsDebuggerAttacher.cs │ ├── GoogleTestExtensionOptionsPage.cs │ ├── Helpers │ │ └── ActivityLogLogger.cs │ ├── IGoogleTestExtensionOptionsPage.cs │ ├── OptionsPages │ │ ├── GeneralOptionsDialogPage.cs │ │ ├── GoogleTestOptionsDialogPage.cs │ │ ├── LocalizedCategoryAttribute.cs │ │ ├── LocalizedDescriptionAttribute.cs │ │ ├── LocalizedDisplayNameAttribute.cs │ │ ├── NotifyingDialogPage.cs │ │ └── ParallelizationOptionsDialogPage.cs │ ├── Resources │ │ └── Screenshot.png │ ├── Settings │ │ └── RunSettingsService.cs │ ├── VsPackage.Shared.projitems │ └── VsPackage.Shared.shproj ├── VsPackage.TAfGT │ ├── .gitignore │ ├── GoogleTestExtensionOptionsPage.cs │ ├── GoogleTestExtensionOptionsPage.vsct │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── VSPackage.Designer.cs │ │ └── VSPackage.resx │ └── VsPackage.TAfGT.csproj ├── VsPackage.Tests.Generated │ ├── .gitignore │ ├── ConsoleTests.tt │ ├── GTA_Console.csv │ ├── GTA_Console.pictmodel │ ├── GenerateCSV.bat │ ├── GoldenFiles │ │ ├── ConsoleDllTests__HardCrashingSampleTests.xml │ │ ├── ConsoleDllTests__HardCrashingSampleTests_Settings_Coverage_Isolation.xml │ │ ├── ConsoleDllTests__List_TestsOf_HardCrashingSampleTests.txt │ │ ├── ConsoleDllTests__List_TestsOf_SampleTests.txt │ │ ├── ConsoleDllTests__List_TestsOf_SampleTests170.txt │ │ ├── ConsoleDllTests__NEG_SampleTests170_SolutionSettings_NotExisting_EQ_Foo.xml │ │ ├── ConsoleDllTests__NEG_SampleTests_Coverage_NotExisting_EQ_Foo.xml │ │ ├── ConsoleDllTests__NEG_SampleTests_SolutionSettings_Isolation_NotExisting_EQ_Foo.xml │ │ ├── ConsoleDllTests__SampleTests170_Settings_Coverage_Type_EQ_Small.xml │ │ ├── ConsoleDllTests__SampleTests170_Settings_DisplayName_EQ_TestMath_AddPassesWithTraits_OR_Type_EQ_Small.xml │ │ ├── ConsoleDllTests__SampleTests170_Settings_Isolation_DisplayName_EQ_TestMath_AddPassesWithTraits.xml │ │ ├── ConsoleDllTests__SampleTests170_SolutionProjectSettings_Coverage_Isolation.xml │ │ ├── ConsoleDllTests__SampleTests_Coverage_Isolation_DisplayName_EQ_TestMath_AddPassesWithTraits_OR_Type_EQ_Small.xml │ │ ├── ConsoleDllTests__SampleTests_Coverage_Isolation_Type_EQ_Small.xml │ │ ├── ConsoleDllTests__SampleTests_Isolation_DisplayName_EQ_TestMath_AddPassesWithTraits.xml │ │ ├── ConsoleDllTests__SampleTests_Settings_Coverage_DisplayName_EQ_TestMath_AddPassesWithTraits.xml │ │ ├── ConsoleDllTests__SampleTests_Settings_DisplayName_EQ_TestMath_AddPassesWithTraits_OR_Type_EQ_Small.xml │ │ ├── ConsoleDllTests__SampleTests_Settings_Type_EQ_Small.xml │ │ └── ConsoleDllTests__SampleTests_SolutionProjectSettings_Coverage_Isolation.xml │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── VsPackage.Tests.Generated.csproj │ └── app.config.tt └── VsPackage.Tests │ ├── .gitignore │ ├── ConsoleDllIntegrationTests.cs │ ├── Properties │ └── AssemblyInfo.cs │ ├── VsPackage.Tests.csproj │ └── app.config.tt ├── GoogleTestNuGet ├── 1028 │ └── googletest.propertiesui.xml ├── 1029 │ └── googletest.propertiesui.xml ├── 1031 │ └── googletest.propertiesui.xml ├── 1033 │ └── googletest.propertiesui.xml ├── 1034 │ └── googletest.propertiesui.xml ├── 1036 │ └── googletest.propertiesui.xml ├── 1040 │ └── googletest.propertiesui.xml ├── 1041 │ └── googletest.propertiesui.xml ├── 1042 │ └── googletest.propertiesui.xml ├── 1045 │ └── googletest.propertiesui.xml ├── 1046 │ └── googletest.propertiesui.xml ├── 1049 │ └── googletest.propertiesui.xml ├── 1055 │ └── googletest.propertiesui.xml ├── 2052 │ └── googletest.propertiesui.xml ├── .gitignore ├── Build.ps1 ├── ThirdPartyNotices.txt ├── googletest.SignNuGet.proj ├── googletest.nuspec.tt ├── googletest.nuspec.tt.proj ├── googletest.targets.tt ├── googletest.targets.tt.proj ├── license (MIT).txt └── packages.config ├── LICENSE.md ├── NuGet.config ├── README.md ├── ResolveTTs.proj ├── SECURITY.md ├── SampleTests ├── .gitignore ├── 3rdparty │ ├── gtest-1.7.0 │ │ ├── CHANGES │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── README │ │ └── fused-src │ │ │ └── gtest │ │ │ ├── gtest-all.cc │ │ │ ├── gtest.h │ │ │ └── gtest_main.cc │ └── gtest-1.8.0 │ │ ├── CHANGES │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ReadMe.txt │ │ └── fused-src │ │ └── gtest │ │ ├── gtest-all.cc │ │ ├── gtest.h │ │ └── gtest_main.cc ├── Common.props ├── CrashingTests │ ├── CrashReallyHard32.asm │ ├── CrashReallyHard64.asm │ ├── CrashingTests.cpp │ ├── CrashingTests.vcxproj │ └── CrashingTests.vcxproj.filters ├── DllDependentProject │ ├── DllDependentProject.vcxproj │ ├── DllDependentProject.vcxproj.filters │ └── DllTests.cpp ├── DllProject │ ├── DllProject.cpp │ ├── DllProject.h │ ├── DllProject.vcxproj │ ├── DllProject.vcxproj.filters │ ├── dllmain.cpp │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── LibProject │ ├── Lib.cpp │ ├── Lib.h │ ├── LibProject.vcxproj │ ├── LibProject.vcxproj.filters │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── LoadTests │ ├── LoadTests.cpp │ ├── LoadTests.vcxproj │ └── LoadTests.vcxproj.filters ├── LongRunningTests │ ├── LongRunningTests.vcxproj │ └── LongRunningTests.vcxproj.filters ├── No.runsettings ├── NonDeterministic.runsettings ├── SampleTests.gta.runsettings ├── SampleTests.sln ├── Tests │ ├── ApiCreatedTests.cpp │ ├── BasicTests.cpp │ ├── FixtureTests.cpp │ ├── LongRunningTests.cpp │ ├── Main.cpp │ ├── Main.h │ ├── ParameterizedTests.cpp │ ├── Returns0.bat │ ├── Returns1.bat │ ├── ScopedTracesTests.cpp │ ├── Tests.vcxproj │ ├── Tests.vcxproj.filters │ ├── TraitsTest.h │ ├── TypeParameterizedTests.cpp │ ├── UmlautTests.cpp │ └── gtest_wrapper.h └── Tests_1.7.0 │ ├── Tests_1.7.0.vcxproj │ └── Tests_1.7.0.vcxproj.filters ├── TSAOptions.json ├── TestAdapterFlavor.props ├── TestAdapterForGoogleTest └── loc │ └── lcl │ ├── CHS │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── CHT │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── CSY │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── DEU │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── ESN │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── FRA │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── ITA │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── JPN │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── KOR │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── PLK │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── PTB │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── RUS │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ └── TRK │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl ├── TestAdapterforGoogle.TestDev17.yml ├── ThirdPartyNotices.txt ├── Tools ├── Expand-Vsix.ps1 ├── Flatten-NuGetPackages.ps1 ├── GoogleTestAdapter.FxCop ├── New-CleanDirectory.ps1 └── RemoveGtaProjects.ps1 ├── appveyor.yml ├── codecov.yml ├── loc └── lcl │ ├── CHS │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── CHT │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── CSY │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── DEU │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── ESN │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── FRA │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── ITA │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── JPN │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── KOR │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── PLK │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── PTB │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ ├── RUS │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl │ └── TRK │ ├── GoogleTestAdapter.Common.Dynamic.dll.lcl │ ├── GoogleTestAdapter.Core.dll.lcl │ ├── GoogleTestAdapter.DiaResolver.dll.lcl │ ├── GoogleTestAdapter.TestAdapter.dll.lcl │ ├── GoogleTestAdapter.VsPackage.TAfGT.dll.lcl │ └── NewProjectWizard.dll.lcl └── swix ├── core └── Microsoft.VisualStudio.VC.Ide.TestAdapterForGoogleTest.vsmanproj └── packages.config /.gitconfig: -------------------------------------------------------------------------------- 1 | # This .gitconfig file should be included in your local .gitconfig by running 2 | # the following in the repo root (this folder): 3 | # git config --local include.path ../.gitconfig 4 | 5 | [merge "ours"] 6 | driver = true 7 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/.gitmodules -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Microsoft Open Source Code of Conduct 2 | 3 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 4 | 5 | Resources: 6 | 7 | - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) 8 | - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) 9 | - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | This project welcomes contributions and suggestions. Most contributions require you to 4 | agree to a Contributor License Agreement (CLA) declaring that you have the right to, 5 | and actually do, grant us the rights to use your contribution. For details, visit 6 | https://cla.microsoft.com. 7 | 8 | When you submit a pull request, a CLA-bot will automatically determine whether you need 9 | to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the 10 | instructions provided by the bot. You will only need to do this once across all repositories using our CLA. 11 | 12 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 13 | For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) 14 | or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. -------------------------------------------------------------------------------- /Common.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | $(MSBuildThisFileDirectory) 6 | $(EnlistmentRoot)NuGetPackages\ 7 | 8 | $(EnlistmentRoot)out\binaries\$(SolutionName)\$(Configuration)\$(MSBuildProjectName)\ 9 | $(OutDir) 10 | 11 | $(EnlistmentRoot)out\intermediate\$(SolutionName)\$(Configuration)\$(MSBuildProjectName)\ 12 | $(IntDir) 13 | $(IntDir) 14 | $(BaseIntermediateOutputPath) 15 | 16 | 17 | 18 | 19 | v4.5 20 | 21 | 22 | v4.7.2 23 | 24 | 25 | -------------------------------------------------------------------------------- /FilesToScan.ps1: -------------------------------------------------------------------------------- 1 | param ( 2 | [string]$buildArtifactStagingDirectory, 3 | [string]$directoryToSearch 4 | ) 5 | 6 | $filesToScan = @("GoogleTestAdapter.Common.dll", "GoogleTestAdapter.Common.Dynamic.dll", "GoogleTestAdapter.Core.dll", "GoogleTestAdapter.DiaResolver.dll", "GoogleTestAdapter.TestAdapter.dll", "GoogleTestAdapter.VsPackage.TAfGT.dll", "NewProjectWizard.dll") 7 | $FilesToScanDrop = "$buildArtifactStagingDirectory/FilesToScanDrop" 8 | 9 | if (!(Test-Path -Path $FilesToScanDrop)) { 10 | New-Item -ItemType Directory -Path $FilesToScanDrop | Out-Null 11 | } 12 | 13 | foreach ($file in $filesToScan) { 14 | # Search in output directory for files we want to scan, but exclude any arm binaries. 15 | $sourcePaths = Get-ChildItem -Path $directoryToSearch -Recurse -Include $file -File | Where-Object { $_.DirectoryName -notmatch '\\arm\\|\\arm64\\' } 16 | foreach ($sourcePath in $sourcePaths) { 17 | $destinationPath = Join-Path $FilesToScanDrop $sourcePath.Name 18 | Copy-Item $sourcePath.FullName $destinationPath 19 | Write-Host "Found File to Scan: $sourcePath" 20 | } 21 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Common.Dynamic.GTA/.gitignore: -------------------------------------------------------------------------------- 1 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/Common.Dynamic.GTA/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System.Reflection; 5 | using System.Runtime.CompilerServices; 6 | using System.Runtime.InteropServices; 7 | 8 | // General Information about an assembly is controlled through the following 9 | // set of attributes. Change these attribute values to modify the information 10 | // associated with an assembly. 11 | [assembly: AssemblyTitle("GoogleTestAdapter.Common.Dynamic.GTA")] 12 | [assembly: AssemblyDescription("Common infrastructure for the Google Test Adapter projects")] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("Microsoft")] 15 | [assembly: AssemblyProduct("GoogleTestAdapter.Common.Dynamic.GTA")] 16 | [assembly: AssemblyCopyright("Copyright © 2017")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // Setting ComVisible to false makes the types in this assembly not visible 21 | // to COM components. If you need to access a type in this assembly from 22 | // COM, set the ComVisible attribute to true on that type. 23 | [assembly: ComVisible(false)] 24 | 25 | // The following GUID is for the ID of the typelib if this project is exposed to COM 26 | [assembly: Guid("17f4b73f-e4d3-4e40-98fc-788b1d0f8225")] 27 | 28 | // Version information for an assembly consists of the following four values: 29 | // 30 | // Major Version 31 | // Minor Version 32 | // Build Number 33 | // Revision 34 | // 35 | // You can specify all the values or you can default the Build and Revision Numbers 36 | // by using the '*' as shown below: 37 | // [assembly: AssemblyVersion("1.0.*")] 38 | [assembly: AssemblyVersion("0.1.0.0")] 39 | [assembly: AssemblyFileVersion("0.1.0.0")] 40 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Common.Dynamic.TAfGT/.gitignore: -------------------------------------------------------------------------------- 1 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/Common/.gitignore: -------------------------------------------------------------------------------- 1 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/Common/ILogger.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace GoogleTestAdapter.Common 4 | { 5 | 6 | public enum Severity { Info, Warning, Error } 7 | 8 | public interface ILogger 9 | { 10 | void LogInfo(string message); 11 | void LogWarning(string message); 12 | void LogError(string message); 13 | void DebugInfo(string message); 14 | void DebugWarning(string message); 15 | void DebugError(string message); 16 | 17 | IList GetMessages(params Severity[] severities); 18 | 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Common/ProcessWaiter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Threading; 4 | 5 | namespace GoogleTestAdapter.Common 6 | { 7 | 8 | public class ProcessWaiter 9 | { 10 | public int ProcessExitCode { get; private set; } = -1; 11 | private bool _exited; 12 | 13 | 14 | public ProcessWaiter(Process process) 15 | { 16 | process.EnableRaisingEvents = true; 17 | process.Exited += OnExited; 18 | } 19 | 20 | 21 | public int WaitForExit() 22 | { 23 | lock (this) 24 | { 25 | while (!_exited) 26 | { 27 | Monitor.Wait(this); 28 | } 29 | } 30 | 31 | return ProcessExitCode; 32 | } 33 | 34 | private void OnExited(object sender, EventArgs e) 35 | { 36 | var process = sender as Process; 37 | if (process != null) 38 | { 39 | lock (this) 40 | { 41 | ProcessExitCode = process.ExitCode; 42 | _exited = true; 43 | 44 | process.Exited -= OnExited; 45 | 46 | Monitor.Pulse(this); 47 | } 48 | } 49 | } 50 | 51 | } 52 | 53 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Common/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // This file has been modified by Microsoft on 6/2017. 2 | 3 | using System.Reflection; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [assembly: AssemblyTitle("GoogleTestAdapter.Common")] 11 | [assembly: AssemblyDescription("Common infrastructure for the Test Adapter projects")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("Christian Soltenborn, Jonas Gefele")] 14 | [assembly: AssemblyProduct("GoogleTestAdapter.Common")] 15 | [assembly: AssemblyCopyright("Copyright © 2015, 2016, 2017")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [assembly: Guid("bc05d210-68cd-47d0-ae8c-0f3168d1be73")] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [assembly: AssemblyVersion("1.0.*")] 37 | [assembly: AssemblyVersion("0.1.0.0")] 38 | [assembly: AssemblyFileVersion("0.1.0.0")] 39 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Core.Tests/.gitignore: -------------------------------------------------------------------------------- 1 | app.config 2 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/Core.Tests/Helpers/DebugUtilsTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | using static GoogleTestAdapter.Tests.Common.TestMetadata.TestCategories; 4 | 5 | namespace GoogleTestAdapter.Helpers 6 | { 7 | 8 | [TestClass] 9 | public class DebugUtilsTests 10 | { 11 | 12 | [TestMethod] 13 | [TestCategory(Unit)] 14 | [ExpectedException(typeof(ArgumentNullException))] 15 | public void AssertIsNotNull_Null_ThrowsException() 16 | { 17 | DebugUtils.AssertIsNotNull(null, "foo"); 18 | } 19 | 20 | [TestMethod] 21 | [TestCategory(Unit)] 22 | [ExpectedException(typeof(ArgumentException))] 23 | public void AssertIsNull_NotNull_ThrowsException() 24 | { 25 | DebugUtils.AssertIsNull("", "foo"); 26 | } 27 | 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core.Tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("GoogleTestAdapter.Core.Tests")] 10 | [assembly: AssemblyDescription("Tests for the Google Test Adapter.")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("Christian Soltenborn, Jonas Gefele")] 13 | [assembly: AssemblyProduct("GoogleTestAdapter.Core.Tests")] 14 | [assembly: AssemblyCopyright("Copyright © 2015, 2016, 2017")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | 18 | // Setting ComVisible to false makes the types in this assembly not visible 19 | // to COM components. If you need to access a type in this assembly from 20 | // COM, set the ComVisible attribute to true on that type. 21 | [assembly: ComVisible(false)] 22 | 23 | // The following GUID is for the ID of the typelib if this project is exposed to COM 24 | [assembly: Guid("b06c696e-e458-490a-ac44-9e4f460dbafe")] 25 | 26 | // Version information for an assembly consists of the following four values: 27 | // 28 | // Major Version 29 | // Minor Version 30 | // Build Number 31 | // Revision 32 | // 33 | // You can specify all the values or you can default the Build and Revision Numbers 34 | // by using the '*' as shown below: 35 | // [assembly: AssemblyVersion("1.0.*")] 36 | [assembly: AssemblyVersion("0.1.0.0")] 37 | [assembly: AssemblyFileVersion("0.1.0.0")] 38 | [assembly: NeutralResourcesLanguage("en-US")] 39 | 40 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Core.Tests/app.config.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="c#" hostspecific="true" #> 2 | <#@ output extension=".config" #> 3 | <#@ parameter type="System.String" name="TestAdapterFlavor" #> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <# if (TestAdapterFlavor == "TAfGT") { #> 15 | 16 | 17 | 18 | <# } #> 19 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/.gitignore: -------------------------------------------------------------------------------- 1 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Framework/IDebuggedProcessLauncher.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace GoogleTestAdapter.Framework 4 | { 5 | 6 | public interface IDebuggedProcessLauncher 7 | { 8 | int LaunchProcessWithDebuggerAttached(string command, string workingDirectory, IDictionary additionalEnvVars, string param, string pathExtension); 9 | } 10 | 11 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Framework/IDebuggerAttacher.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics; 2 | 3 | namespace GoogleTestAdapter.Framework 4 | { 5 | public interface IDebuggerAttacher 6 | { 7 | bool AttachDebugger(int processId); 8 | } 9 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Framework/IProcessExecutor.cs: -------------------------------------------------------------------------------- 1 | // This file has been modified by Microsoft on 5/2018. 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | using System.IO; 6 | 7 | namespace GoogleTestAdapter.Framework 8 | { 9 | 10 | public interface IProcessExecutor 11 | { 12 | int ExecuteCommandBlocking(string command, string parameters, string workingDir, IDictionary envVars, string pathExtension, Action reportOutputLine); 13 | void Cancel(); 14 | } 15 | 16 | // ReSharper disable once InconsistentNaming 17 | public static class IProcessExecutorExtensions 18 | { 19 | public static int ExecuteBatchFileBlocking(this IProcessExecutor executor, string batchFile, string parameters, string workingDir, string pathExtension, Action reportOutputLine) 20 | { 21 | if (!File.Exists(batchFile)) 22 | { 23 | throw new FileNotFoundException("File not found", batchFile); 24 | } 25 | 26 | string command = Path.Combine(Environment.SystemDirectory, "cmd.exe"); 27 | return executor.ExecuteCommandBlocking(command, $"/C \"{batchFile}\" {parameters}", workingDir, null, pathExtension, 28 | reportOutputLine); 29 | } 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Framework/ITestFrameworkReporter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using GoogleTestAdapter.Model; 3 | 4 | namespace GoogleTestAdapter.Framework 5 | { 6 | 7 | public interface ITestFrameworkReporter 8 | { 9 | void ReportTestsFound(IEnumerable testCases); 10 | 11 | void ReportTestsStarted(IEnumerable testCases); 12 | 13 | /// if test execution has been canceled in the meantime 14 | void ReportTestResults(IEnumerable testResults); 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Framework/TestRunCanceledException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GoogleTestAdapter.Framework 4 | { 5 | public sealed class TestRunCanceledException : Exception 6 | { 7 | public TestRunCanceledException(string message, Exception innerException) : base(message, innerException) { } 8 | } 9 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/GtaTestDurations.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Helpers/DebugUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GoogleTestAdapter.Helpers 4 | { 5 | public static class DebugUtils 6 | { 7 | public static void AssertIsNotNull(object parameter, string parameterName) 8 | { 9 | if (parameter == null) 10 | { 11 | throw new ArgumentNullException(parameterName); 12 | } 13 | } 14 | 15 | public static void AssertIsNull(object parameter, string parameterName) 16 | { 17 | if (parameter != null) 18 | { 19 | throw new ArgumentException(parameterName + " must be null"); 20 | } 21 | } 22 | 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Model/TestCaseMetaDataProperty.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | 4 | namespace GoogleTestAdapter.Model 5 | { 6 | public class TestCaseMetaDataProperty : TestProperty 7 | { 8 | public static readonly string Id = $"{typeof(TestCaseMetaDataProperty).FullName}"; 9 | public const string Label = "Test case meta data"; 10 | 11 | public int NrOfTestCasesInSuite { get; } 12 | public int NrOfTestCasesInExecutable { get; } 13 | public string FullyQualifiedNameWithoutNamespace { get; } 14 | 15 | public TestCaseMetaDataProperty(int nrOfTestCasesInSuite, int nrOfTestCasesInExecutable, string fullyQualifiedNameWithoutNamespace) 16 | : this($"{nrOfTestCasesInSuite}|{nrOfTestCasesInExecutable}|{fullyQualifiedNameWithoutNamespace}") 17 | { 18 | } 19 | 20 | public TestCaseMetaDataProperty(string serialization) : base(serialization) 21 | { 22 | string[] fields = serialization.Split('|'); 23 | if (fields.Length != 3) 24 | throw new ArgumentException(serialization, nameof(serialization)); 25 | NrOfTestCasesInSuite = int.Parse(fields[0]); 26 | NrOfTestCasesInExecutable = int.Parse(fields[1]); 27 | FullyQualifiedNameWithoutNamespace = fields[2]; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Model/TestProperty.cs: -------------------------------------------------------------------------------- 1 | namespace GoogleTestAdapter.Model 2 | { 3 | public abstract class TestProperty 4 | { 5 | public string Serialization { get; } 6 | 7 | protected TestProperty(string serialization) 8 | { 9 | Serialization = serialization; 10 | } 11 | 12 | public override string ToString() 13 | { 14 | return $"{GetType()}: {Serialization}"; 15 | } 16 | 17 | public override bool Equals(object obj) 18 | { 19 | if (ReferenceEquals(null, obj)) 20 | return false; 21 | if (ReferenceEquals(this, obj)) 22 | return true; 23 | if (obj.GetType() != GetType()) 24 | return false; 25 | 26 | var other = (TestProperty) obj; 27 | return string.Equals(Serialization, other.Serialization); 28 | } 29 | 30 | public override int GetHashCode() 31 | { 32 | return Serialization != null ? Serialization.GetHashCode() : 0; 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Model/TestResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GoogleTestAdapter.Model 4 | { 5 | public enum TestOutcome { Passed, Failed, Skipped, None, NotFound } 6 | 7 | public class TestResult 8 | { 9 | public TestCase TestCase { get; } 10 | 11 | public string ComputerName { get; set; } 12 | public string DisplayName { get; set; } 13 | 14 | public TestOutcome Outcome { get; set; } 15 | public string ErrorMessage { get; set; } 16 | public string ErrorStackTrace { get; set; } 17 | public TimeSpan Duration { get; set; } 18 | 19 | public TestResult(TestCase testCase) 20 | { 21 | TestCase = testCase; 22 | } 23 | 24 | public override string ToString() 25 | { 26 | return $"{DisplayName} ({Outcome})"; 27 | } 28 | 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Model/Trait.cs: -------------------------------------------------------------------------------- 1 | namespace GoogleTestAdapter.Model 2 | { 3 | public class Trait 4 | { 5 | public string Name { get; } 6 | public string Value { get; } 7 | 8 | public Trait(string name, string value) 9 | { 10 | Name = name; 11 | Value = value; 12 | } 13 | 14 | public override string ToString() 15 | { 16 | return $"({Name},{Value})"; 17 | } 18 | 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Runners/ITestRunner.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using GoogleTestAdapter.Framework; 3 | using GoogleTestAdapter.Model; 4 | 5 | namespace GoogleTestAdapter.Runners 6 | { 7 | 8 | public interface ITestRunner 9 | { 10 | // TODO remove isBeingDebugged parameter (use debuggedLauncher != null) 11 | void RunTests(IEnumerable testCasesToRun, string baseDir, string workingDir, 12 | string userParameters, bool isBeingDebugged, IDebuggedProcessLauncher debuggedLauncher, IProcessExecutor executor); 13 | 14 | void Cancel(); 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Scheduling/ITestsSplitter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using GoogleTestAdapter.Model; 3 | 4 | namespace GoogleTestAdapter.Scheduling 5 | { 6 | public interface ITestsSplitter 7 | { 8 | List> SplitTestcases(); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Scheduling/NumberBasedTestsSplitter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using GoogleTestAdapter.Model; 5 | using GoogleTestAdapter.Settings; 6 | 7 | namespace GoogleTestAdapter.Scheduling 8 | { 9 | public class NumberBasedTestsSplitter : ITestsSplitter 10 | { 11 | private readonly IEnumerable _testcasesToRun; 12 | private readonly SettingsWrapper _settings; 13 | 14 | 15 | public NumberBasedTestsSplitter(IEnumerable testcasesToRun, SettingsWrapper settings) 16 | { 17 | _settings = settings; 18 | _testcasesToRun = testcasesToRun; 19 | } 20 | 21 | 22 | public List> SplitTestcases() 23 | { 24 | int nrOfThreadsToUse = Math.Min(_settings.MaxNrOfThreads, _testcasesToRun.Count()); 25 | var splitTestCases = new List[nrOfThreadsToUse]; 26 | for (int i = 0; i < nrOfThreadsToUse; i++) 27 | { 28 | splitTestCases[i] = new List(); 29 | } 30 | 31 | int testcaseCounter = 0; 32 | foreach (TestCase testCase in _testcasesToRun) 33 | { 34 | splitTestCases[testcaseCounter++ % nrOfThreadsToUse].Add(testCase); 35 | } 36 | 37 | return splitTestCases.ToList(); 38 | } 39 | 40 | } 41 | 42 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Settings/IGoogleTestAdapterSettingsContainer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace GoogleTestAdapter.Settings 4 | { 5 | public interface IGoogleTestAdapterSettingsContainer 6 | { 7 | RunSettings SolutionSettings { get; set; } 8 | List ProjectSettings { get; set; } 9 | 10 | RunSettings GetSettingsForExecutable(string executable); 11 | } 12 | 13 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Settings/ITestPropertySettings.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace GoogleTestAdapter.Settings 4 | { 5 | public interface ITestPropertySettings 6 | { 7 | IDictionary Environment { get; } 8 | string WorkingDirectory { get; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Settings/ITestPropertySettingsContainer.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace GoogleTestAdapter.Settings 3 | { 4 | public interface ITestPropertySettingsContainer 5 | { 6 | bool TryGetSettings(string key, out ITestPropertySettings settings); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/Settings/SettingsSerializationContainer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Xml.Serialization; 3 | 4 | namespace GoogleTestAdapter.Settings 5 | { 6 | 7 | [XmlRoot(GoogleTestConstants.SettingsName)] 8 | public class SettingsSerializationContainer 9 | { 10 | public SingleSettings SolutionSettings { get; set; } = new SingleSettings(); 11 | 12 | [XmlArray("ProjectSettings")] 13 | [XmlArrayItem("Settings")] 14 | public SettingsList SettingsList { get; set; } = new SettingsList(); 15 | 16 | public SettingsSerializationContainer() { } 17 | 18 | public SettingsSerializationContainer(IGoogleTestAdapterSettingsContainer container) 19 | { 20 | SolutionSettings.Settings = container.SolutionSettings; 21 | SettingsList.AddRange(container.ProjectSettings); 22 | } 23 | 24 | } 25 | 26 | public class SettingsList : List { } 27 | 28 | public class SingleSettings 29 | { 30 | public RunSettings Settings { get; set; } 31 | } 32 | 33 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/TestCases/ListTestsParser.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using GoogleTestAdapter.Helpers; 3 | 4 | namespace GoogleTestAdapter.TestCases 5 | { 6 | 7 | public class ListTestsParser 8 | { 9 | private readonly string _testNameSeparator; 10 | 11 | public ListTestsParser(string testNameSeparator) 12 | { 13 | _testNameSeparator = testNameSeparator; 14 | } 15 | 16 | public IList ParseListTestsOutput(IEnumerable consoleOutput) 17 | { 18 | var testCaseDescriptors = new List(); 19 | 20 | var actualParser = new StreamingListTestsParser(_testNameSeparator); 21 | actualParser.TestCaseDescriptorCreated += (sender, args) => testCaseDescriptors.Add(args.TestCaseDescriptor); 22 | 23 | foreach (string line in consoleOutput) 24 | { 25 | actualParser.ReportLine(line); 26 | } 27 | return testCaseDescriptors; 28 | } 29 | 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/TestCases/TestCaseDescriptor.cs: -------------------------------------------------------------------------------- 1 | namespace GoogleTestAdapter.TestCases 2 | { 3 | public class TestCaseDescriptor 4 | { 5 | public static string TestTypeTraitName = "GoogleTestAdapterTestType"; 6 | 7 | public enum TestTypes { Simple, Parameterized, TypeParameterized, Fixture } 8 | 9 | public string Suite { get; } 10 | public string Name { get; } 11 | 12 | public string FullyQualifiedName { get; } 13 | public string DisplayName { get; } 14 | public TestTypes TestType { get; } 15 | 16 | internal TestCaseDescriptor(string suite, string name, string fullyQualifiedName, string displayName, TestTypes testType) 17 | { 18 | Suite = suite; 19 | Name = name; 20 | DisplayName = displayName; 21 | FullyQualifiedName = fullyQualifiedName; 22 | TestType = testType; 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return DisplayName; 28 | } 29 | 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Core/TestCases/TestCaseLocation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using GoogleTestAdapter.DiaResolver; 3 | using GoogleTestAdapter.Model; 4 | 5 | namespace GoogleTestAdapter.TestCases 6 | { 7 | 8 | internal class TestCaseLocation : SourceFileLocation 9 | { 10 | internal List Traits { get; } = new List(); 11 | 12 | internal TestCaseLocation(string symbol, string sourceFile, uint line) : base(symbol, sourceFile, line) 13 | { 14 | } 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/CrashingExe/CrashingExe.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include 3 | 4 | int main() 5 | { 6 | std::cout << "Test output before crashing"; 7 | int* pointer = 0; 8 | return *pointer; 9 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/CrashingExe/CrashingExe.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Header Files 23 | 24 | 25 | Header Files 26 | 27 | 28 | 29 | 30 | Source Files 31 | 32 | 33 | Source Files 34 | 35 | 36 | -------------------------------------------------------------------------------- /GoogleTestAdapter/CrashingExe/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // CrashingExe.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /GoogleTestAdapter/CrashingExe/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #include 11 | #include 12 | 13 | 14 | 15 | // TODO: reference additional headers your program requires here 16 | -------------------------------------------------------------------------------- /GoogleTestAdapter/CrashingExe/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver.Tests/.gitignore: -------------------------------------------------------------------------------- 1 | app.config 2 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver.Tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("DiaResolver.Tests")] 9 | [assembly: AssemblyDescription("Tests for the DIA Resolver")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Christian Soltenborn, Jonas Gefele")] 12 | [assembly: AssemblyProduct("DiaResolver.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2015, 2016, 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("941ba1b7-2cf4-4d5c-8680-5c73cd6fe197")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.1.0.0")] 36 | [assembly: AssemblyFileVersion("0.1.0.0")] 37 | -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver.Tests/app.config.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="c#" hostspecific="true" #> 2 | <#@ output extension=".config" #> 3 | <#@ parameter type="System.String" name="TestAdapterFlavor" #> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <# if (TestAdapterFlavor == "TAfGT") { #> 15 | 16 | 17 | 18 | <# } #> 19 | -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/.gitignore: -------------------------------------------------------------------------------- 1 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/DefaultDiaResolverFactory.cs: -------------------------------------------------------------------------------- 1 | using GoogleTestAdapter.Common; 2 | 3 | namespace GoogleTestAdapter.DiaResolver 4 | { 5 | public class DefaultDiaResolverFactory : IDiaResolverFactory 6 | { 7 | public static IDiaResolverFactory Instance { get; } = new DefaultDiaResolverFactory(); 8 | 9 | public IDiaResolver Create(string binary, string pathExtensions, ILogger logger) 10 | { 11 | return new DiaResolver(binary, pathExtensions, logger); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/IDiaResolver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace GoogleTestAdapter.DiaResolver 5 | { 6 | public interface IDiaResolver : IDisposable 7 | { 8 | IList GetFunctions(string symbolFilterString); 9 | } 10 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/IDiaResolverFactory.cs: -------------------------------------------------------------------------------- 1 | using GoogleTestAdapter.Common; 2 | 3 | namespace GoogleTestAdapter.DiaResolver 4 | { 5 | public interface IDiaResolverFactory 6 | { 7 | IDiaResolver Create(string binary, string pathExtensions, ILogger logger); 8 | } 9 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/SourceFileLocation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GoogleTestAdapter.DiaResolver 4 | { 5 | 6 | public class SourceFileLocation 7 | { 8 | private static readonly string Separator = "::"; 9 | private static readonly int SeparatorLength = Separator.Length; 10 | 11 | public string Symbol { get; } 12 | public string Sourcefile { get; } 13 | public uint Line { get; } 14 | public string TestClassSignature { get; } 15 | public int IndexOfSerializedTrait { get; } 16 | 17 | public SourceFileLocation(string symbol, string sourceFile, uint line) 18 | { 19 | Symbol = symbol; 20 | Sourcefile = sourceFile; 21 | Line = line; 22 | IndexOfSerializedTrait = Symbol.LastIndexOf(Separator, StringComparison.Ordinal) + SeparatorLength; 23 | TestClassSignature = IndexOfSerializedTrait < SeparatorLength ? null : Symbol.Substring(0, IndexOfSerializedTrait - SeparatorLength); 24 | } 25 | 26 | public override string ToString() 27 | { 28 | return Symbol; 29 | } 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/arm/.gitignore: -------------------------------------------------------------------------------- 1 | msdia140.dll 2 | -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/arm64/.gitignore: -------------------------------------------------------------------------------- 1 | msdia140.dll 2 | -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/dia2/.gitignore: -------------------------------------------------------------------------------- 1 | dia2.dll 2 | -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/dia2/compile_typelib.ps1: -------------------------------------------------------------------------------- 1 | if (!(Test-Path Env:VSINSTALLDIR)) { 2 | Write-Output "ERROR: must run in Developer Command Prompt for Visual Studio" 3 | exit 4 | } 5 | 6 | mkdir tmp 7 | midl "$ENV:VSINSTALLDIR/DIA SDK/idl/dia2.idl" /out tmp /I "$ENV:VSINSTALLDIR/DIA SDK/include" 8 | tlbimp tmp/dia2.tlb /out:dia2.dll /namespace:Microsoft.Dia 9 | Remove-Item -Recurse -Force tmp 10 | -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/x64/.gitignore: -------------------------------------------------------------------------------- 1 | msdia140.dll 2 | -------------------------------------------------------------------------------- /GoogleTestAdapter/DiaResolver/x86/.gitignore: -------------------------------------------------------------------------------- 1 | msdia140.dll 2 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FailingExe/FailingExe.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include 3 | 4 | int main() 5 | { 6 | std::cout << "Test output before exiting with 4711"; 7 | return 4711; 8 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/FailingExe/FailingExe.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Header Files 23 | 24 | 25 | Header Files 26 | 27 | 28 | 29 | 30 | Source Files 31 | 32 | 33 | Source Files 34 | 35 | 36 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FailingExe/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // FailingExe.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FailingExe/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #include 11 | #include 12 | 13 | 14 | 15 | // TODO: reference additional headers your program requires here 16 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FailingExe/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FakeGtestDll/Application.cpp: -------------------------------------------------------------------------------- 1 | __declspec(dllimport) void FakeGtestDllLibrary_ExportedFunction(); 2 | 3 | int main() 4 | { 5 | FakeGtestDllLibrary_ExportedFunction(); 6 | } 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FakeGtestDll/FakeGtestDllApplication-x64.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FakeGtestDll/FakeGtestDllApplication.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FakeGtestDll/FakeGtestDllLibrary-x64.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FakeGtestDll/FakeGtestDllLibrary.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /GoogleTestAdapter/FakeGtestDll/Library.cpp: -------------------------------------------------------------------------------- 1 | __declspec(dllexport) void FakeGtestDllLibrary_ExportedFunction() {} -------------------------------------------------------------------------------- /GoogleTestAdapter/GoogleTestAdapter.ChildProcessDbgSettings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /GoogleTestAdapter/GoogleTestItemTemplate/GoogleTest.vstemplate: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | VC 6 | Microsoft.VisualC.Item.GoogleTest 7 | 10 8 | Test.cpp 9 | true 10 | Icon.ico 11 | 12 | 13 | 14 | test.cpp 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestAdapter/GoogleTestItemTemplate/Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/GoogleTestItemTemplate/Icon.ico -------------------------------------------------------------------------------- /GoogleTestAdapter/GoogleTestItemTemplate/test.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | TEST(TestCaseName, TestName) { 4 | EXPECT_EQ(1, 1); 5 | EXPECT_TRUE(true); 6 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/GoogleTestProjectTemplate/GoogleTest.vstemplate: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | VC 6 | Microsoft.VisualC.Project.GoogleTest 7 | 1000 8 | true 9 | true 10 | Sample-Test 11 | true 12 | Enabled 13 | true 14 | Icon.ico 15 | 16 | 17 | 18 | test.cpp 19 | pch.cpp 20 | pch.h 21 | 22 | 23 | 24 | NewProjectWizard, Version=0.1.0.0, Culture=neutral, PublicKeyToken=1924acebdd4c8a75 25 | Microsoft.NewProjectWizard.WizardImplementation 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /GoogleTestAdapter/GoogleTestProjectTemplate/Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/GoogleTestProjectTemplate/Icon.ico -------------------------------------------------------------------------------- /GoogleTestAdapter/GoogleTestProjectTemplate/pch.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // pch.cpp 3 | // 4 | 5 | #include "pch.h" 6 | -------------------------------------------------------------------------------- /GoogleTestAdapter/GoogleTestProjectTemplate/pch.h: -------------------------------------------------------------------------------- 1 | // 2 | // pch.h 3 | // 4 | 5 | #pragma once 6 | 7 | #include "gtest/gtest.h" 8 | -------------------------------------------------------------------------------- /GoogleTestAdapter/GoogleTestProjectTemplate/test.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | 3 | TEST(TestCaseName, TestName) { 4 | EXPECT_EQ(1, 1); 5 | EXPECT_TRUE(true); 6 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Keys/Key_Debug.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Keys/Key_Debug.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/Keys/Key_Release.snk.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Keys/Key_Release.snk.enc -------------------------------------------------------------------------------- /GoogleTestAdapter/NewProjectWizard/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/NewProjectWizard/ControlResources.xaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 0,0,0,7 7 | 12,0,0,0 8 | 0,0,0,5 9 | 24,0,0,0 10 | 24,0,24,12 11 | 6,0,0,0 12 | 13 | -------------------------------------------------------------------------------- /GoogleTestAdapter/NewProjectWizard/IWizardData.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using EnvDTE; 5 | using System; 6 | using System.Collections.Generic; 7 | 8 | namespace Microsoft.NewProjectWizard 9 | { 10 | public interface IWizardData 11 | { 12 | /// 13 | /// Gets or sets the Visual Studio automation object. 14 | /// 15 | DTE DTE { get; set; } 16 | 17 | /// 18 | /// Attempts to execute the actions for the wizard. 19 | /// 20 | /// Value indicating whether the wizard finished successfully. 21 | bool OnTryFinish(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /GoogleTestAdapter/NewProjectWizard/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/NewProjectWizard/Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/NewProjectWizard/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System.Reflection; 5 | using System.Runtime.CompilerServices; 6 | using System.Runtime.InteropServices; 7 | 8 | // General Information about an assembly is controlled through the following 9 | // set of attributes. Change these attribute values to modify the information 10 | // associated with an assembly. 11 | [assembly: AssemblyTitle("NewProjectWizard")] 12 | [assembly: AssemblyDescription("")] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("Microsoft")] 15 | [assembly: AssemblyProduct("NewProjectWizard")] 16 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // Setting ComVisible to false makes the types in this assembly not visible 21 | // to COM components. If you need to access a type in this assembly from 22 | // COM, set the ComVisible attribute to true on that type. 23 | [assembly: ComVisible(false)] 24 | 25 | // The following GUID is for the ID of the typelib if this project is exposed to COM 26 | [assembly: Guid("483fe0c7-4e8d-4591-be45-eac6b2ea5f4f")] 27 | 28 | // Version information for an assembly consists of the following four values: 29 | // 30 | // Major Version 31 | // Minor Version 32 | // Build Number 33 | // Revision 34 | // 35 | // You can specify all the values or you can default the Build and Revision Numbers 36 | // by using the '*' as shown below: 37 | // [assembly: AssemblyVersion("1.0.*")] 38 | [assembly: AssemblyVersion("0.1.0.0")] 39 | [assembly: AssemblyFileVersion("0.1.0.0")] 40 | -------------------------------------------------------------------------------- /GoogleTestAdapter/NewProjectWizard/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace NewProjectWizard.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.1.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /GoogleTestAdapter/NewProjectWizard/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packages/README.md: -------------------------------------------------------------------------------- 1 | This is a placeholder folder for Google Test NuGet packages. -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.GTA/.gitignore: -------------------------------------------------------------------------------- 1 | *.pkgdef 2 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.GTA/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2015,2016,2017 Christian Soltenborn, Jonas Gefele 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.GTA/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System.Reflection; 5 | using System.Runtime.CompilerServices; 6 | using System.Runtime.InteropServices; 7 | 8 | // General Information about an assembly is controlled through the following 9 | // set of attributes. Change these attribute values to modify the information 10 | // associated with an assembly. 11 | [assembly: AssemblyTitle("Packaging.GTA")] 12 | [assembly: AssemblyDescription("")] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("")] 15 | [assembly: AssemblyProduct("Packaging.GTA")] 16 | [assembly: AssemblyCopyright("")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // Setting ComVisible to false makes the types in this assembly not visible 21 | // to COM components. If you need to access a type in this assembly from 22 | // COM, set the ComVisible attribute to true on that type. 23 | [assembly: ComVisible(false)] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.1.0.0")] 36 | [assembly: AssemblyFileVersion("0.1.0.0")] 37 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.GTA/Resources/Preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Packaging.GTA/Resources/Preview.png -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.GTA/VsPackage.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | $(MSBuildThisFileDirectory)..\lib\native\CommonMark.dll 7 | 8 | 9 | 10 | 11 | $(MSBuildThisFileDirectory)..\lib\native\GoogleTestAdapter.Common.dll 12 | 13 | 14 | 15 | 16 | $(MSBuildThisFileDirectory)..\lib\native\GoogleTestAdapter.Common.Dynamic.dll 17 | 18 | 19 | 20 | 21 | $(MSBuildThisFileDirectory)..\lib\native\GoogleTestAdapter.Core.dll 22 | 23 | 24 | 25 | 26 | $(MSBuildThisFileDirectory)..\lib\native\GoogleTestAdapter.DiaResolver.dll 27 | 28 | 29 | 30 | 31 | $(MSBuildThisFileDirectory)..\lib\native\GoogleTestAdapter.TestAdapter.dll 32 | 33 | 34 | 35 | 36 | $(MSBuildThisFileDirectory)..\lib\native\GoogleTestAdapter.VsPackage.GTA.dll 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/.gitignore: -------------------------------------------------------------------------------- 1 | *.pkgdef 2 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/ItemTemplates/VC/Test/Test.VSTDIR: -------------------------------------------------------------------------------- 1 | 2 | 3 | 80 4 | 5 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System.Reflection; 5 | using System.Runtime.CompilerServices; 6 | using System.Runtime.InteropServices; 7 | 8 | // General Information about an assembly is controlled through the following 9 | // set of attributes. Change these attribute values to modify the information 10 | // associated with an assembly. 11 | [assembly: AssemblyTitle("Packaging.TAfGT")] 12 | [assembly: AssemblyDescription("")] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("")] 15 | [assembly: AssemblyProduct("Packaging.TAfGT")] 16 | [assembly: AssemblyCopyright("")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // Setting ComVisible to false makes the types in this assembly not visible 21 | // to COM components. If you need to access a type in this assembly from 22 | // COM, set the ComVisible attribute to true on that type. 23 | [assembly: ComVisible(false)] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.1.0.0")] 36 | [assembly: AssemblyFileVersion("0.1.0.0")] 37 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/Resources/Preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Packaging.TAfGT/Resources/Preview.png -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/ThirdPartyNotices.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Packaging.TAfGT/ThirdPartyNotices.txt -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/cs/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Testovací adaptér pro Google Test 5 | Povolí v testovacích nástrojích sady Visual Studio testy jednotek vytvořené na bázi knihovny Google Test. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/de/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Testadapter für Google Test 5 | Ermöglicht die Verwendung von Visual Studio-Testtools mit Komponententests, die für Google Test geschrieben wurden. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/es/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Test Adapter para Google Test 5 | Habilita las herramientas de pruebas de Visual Studio con las pruebas unitarias escritas para Google Test. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/fr/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Adaptateur de test pour Google Test 5 | Active les outils de test de Visual Studio avec les tests unitaires écrits pour Google Test. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/it/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Test Adapter for Google Test 5 | Abilita gli strumenti di test di Visual Studio con unit test scritti per Google Test. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/ja/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Test Adapter for Google Test 5 | Google Test 向けに作成された単体テストによる、Visual Studio のテスト ツールを有効にします。 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/ko/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Test Adapter for Google Test 5 | Google Test용으로 작성된 단위 테스트와 함께 Visual Studio의 테스트 도구를 사용합니다. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/pl/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Test Adapter for Google Test 5 | Udostępnia w narzędziach do testowania w programie Visual Studio testy jednostkowe napisane dla platformy Google Test. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/pt-BR/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Adaptador de Teste para o Google Test 5 | Habilita as ferramentas de teste do Visual Studio com testes de unidade gravados para o Google Test. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/ru/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Адаптер теста для Google Test 5 | Включает средства тестирования Visual Studio с модульными тестами, созданными для Google Test. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/tr/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Google Test için Test Bağdaştırıcısı 5 | Google Test için yazılmış birim testleriyle Visual Studio test araçlarını etkinleştirir. 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/zh-Hans/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 适用于 Google Test 的测试适配器 5 | 启用带有针对 Google Test 编写的单元测试的 Visual Studio 测试工具。 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Packaging.TAfGT/zh-Hant/Extension.vsixlangpack: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 適用於 Google Test 的測試配接器 5 | 利用為 Google Test 所撰寫的單元測試來啟用 Visual Studio 的測試工具。 6 | 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Resources/Icons/Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Resources/Icons/Icon.ico -------------------------------------------------------------------------------- /GoogleTestAdapter/Resources/Icons/Icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Resources/Icons/Icon_128.png -------------------------------------------------------------------------------- /GoogleTestAdapter/Resources/Icons/README.md: -------------------------------------------------------------------------------- 1 | These images are from the [Microsoft Visual Studio Image Library](http://vsicons-msdn.azurewebsites.net/). If you would like to use any of these images separately from the Test Adapter for Google Test, please obtain the images directly from the [Microsoft Visual Studio Image Library](http://vsicons-msdn.azurewebsites.net/), subject to any associated license agreement or other terms of use. -------------------------------------------------------------------------------- /GoogleTestAdapter/Resources/Icons/toolbaricons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Resources/Icons/toolbaricons.png -------------------------------------------------------------------------------- /GoogleTestAdapter/SampleTestsBuilder/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SampleTestsBuilder")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SampleTestsBuilder")] 13 | [assembly: AssemblyCopyright("Copyright © 2016, 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("12952b24-c70b-4a26-839a-ee4183be8cc0")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /GoogleTestAdapter/SemaphoreExe/SemaphoreExe.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | fclose(fopen("SemaphoreExe.sem", "w")); 6 | return 143; 7 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/SetVersion.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if "%1"=="" goto USAGE 4 | 5 | echo Setting versions to %1 6 | PowerShell.exe -ExecutionPolicy Bypass -File "SetVersion.ps1" -version "%1" 7 | goto :eof 8 | 9 | 10 | :USAGE 11 | echo Usage : SetVersion ^, where ^ should be ^.^.^.^ 12 | echo Example: SetVersion 1.0.1.42 13 | 14 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TenSecondsWaiter/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TenSecondsWaiter/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | 4 | namespace TenSecondsWaiter 5 | { 6 | class Program 7 | { 8 | 9 | static void Main(string[] args) 10 | { 11 | Console.Write("Waiting for 10 seconds"); 12 | 13 | TimeSpan aSecond = TimeSpan.FromSeconds(1); 14 | for (int i = 0; i < 10; i++) 15 | { 16 | Thread.Sleep(aSecond); 17 | Console.Write("."); 18 | } 19 | Console.WriteLine("done."); 20 | } 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/TenSecondsWaiter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // This file has been modified by Microsoft on 6/2017. 2 | 3 | using System.Reflection; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [assembly: AssemblyTitle("TenSecondsWaiter")] 11 | [assembly: AssemblyDescription("")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("")] 14 | [assembly: AssemblyProduct("TenSecondsWaiter")] 15 | [assembly: AssemblyCopyright("Copyright © 2017")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [assembly: Guid("f4b47b1d-41b2-4c7a-804d-4664b590a4f7")] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [assembly: AssemblyVersion("1.0.*")] 37 | [assembly: AssemblyVersion("0.1.0.0")] 38 | [assembly: AssemblyFileVersion("0.1.0.0")] 39 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter.Tests/.gitignore: -------------------------------------------------------------------------------- 1 | app.config 2 | Key.snk 3 | packages.config -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter.Tests/Framework/DebuggedProcessLauncherTests.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | using Moq; 4 | using static GoogleTestAdapter.Tests.Common.TestMetadata.TestCategories; 5 | 6 | namespace GoogleTestAdapter.TestAdapter.Framework 7 | { 8 | [TestClass] 9 | public class DebuggedProcessLauncherTests : TestAdapterTestsBase 10 | { 11 | 12 | [TestMethod] 13 | [TestCategory(Unit)] 14 | public void LaunchProcessWithDebuggerAttached_WithParameters_PassedInfoToFrameworkHandleCorrectly() 15 | { 16 | DebuggedProcessLauncher launcher = new DebuggedProcessLauncher(MockFrameworkHandle.Object); 17 | 18 | launcher.LaunchProcessWithDebuggerAttached("theCommand", "theDir", "theParams", @"C:\test"); 19 | 20 | MockFrameworkHandle.Verify(fh => 21 | fh.LaunchProcessWithDebuggerAttached( 22 | It.Is(s => s == "theCommand"), 23 | It.Is(s => s == "theDir"), 24 | It.Is(s => s == "theParams"), 25 | It.Is>(d => d.ContainsKey("PATH") && d["PATH"].StartsWith(@"C:\test;")) 26 | ), 27 | Times.Exactly(1)); 28 | } 29 | 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter.Tests/IgnoreTests.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if "%*"=="" goto USAGE 4 | 5 | echo Ignoring tests: %* 6 | PowerShell.exe -ExecutionPolicy Bypass -Command .\IgnoreTests.ps1 -tests %* 7 | goto :eof 8 | 9 | 10 | :USAGE 11 | echo Usage : IgnoreTests ::[,::]* 12 | echo Example: IgnoreTests MyTests.cs::ATest,Helpers\MyOtherTests.cs::AnotherTest 13 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter.Tests/IgnoreTests.ps1: -------------------------------------------------------------------------------- 1 | [CmdletBinding()] 2 | param ( 3 | [parameter(Mandatory=$true)] 4 | [string[]] $tests 5 | ) 6 | 7 | 8 | foreach ($test in $tests) { 9 | $data = $test -split "::" 10 | $testclass = $data[0] 11 | $testname = $data[1] 12 | 13 | $regex = '\[(.*TestMethod.*)\](\s*(\[TestCategory\(.*\)\])?\s*public\s+(override\s+)?void\s+)' + $testname 14 | $replacement = '[$1,Ignore]$2' + $testname 15 | 16 | $testcode = [IO.File]::ReadAllText($testclass) 17 | if (([regex]::Matches($testcode, $regex)).count -eq 0) { 18 | Write-Output ("Warning - test not found: " + $test) 19 | } else { 20 | $testcode -replace $regex, $replacement | Set-Content $testclass 21 | Write-Output ("Info - ignoring test: " + $test) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter.Tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("GoogleTestAdapter.TestAdapter.Tests")] 9 | [assembly: AssemblyDescription("Tests for the Google Test Adapter VS integration")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Christian Soltenborn, Jonas Gefele")] 12 | [assembly: AssemblyProduct("GoogleTestAdapter.TestAdapter.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2015, 2016, 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("a3adb538-f3df-4c5f-960d-11b6df66a1a3")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.1.0.0")] 36 | [assembly: AssemblyFileVersion("0.1.0.0")] 37 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter.Tests/Settings/runsettings.csv: -------------------------------------------------------------------------------- 1 | SolutionSolution SolutionProject1 SolutionProject2 UserSolution UserProject1 UserProject3 2 | false not_available not_available false not_available not_available 3 | false false false false false false 4 | false not_available not_available true true true 5 | true true true false not_available not_available 6 | false false false true true true 7 | true true true false false false 8 | true true true true true true 9 | true not_available false true false not_available 10 | true true not_available false false true 11 | false false true false true not_available 12 | false true false true not_available false 13 | true false true true not_available true 14 | false false not_available false true false 15 | false not_available true true true false 16 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter.Tests/Settings/runsettings.pictmodel: -------------------------------------------------------------------------------- 1 | SolutionSolution: true, false 2 | SolutionProject1: true, false, not_available 3 | SolutionProject2: true, false, not_available 4 | UserSolution: true, false 5 | UserProject1: true, false, not_available 6 | UserProject3: true, false, not_available 7 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter.Tests/TestAdapterTestsBase.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using GoogleTestAdapter.Tests.Common; 3 | using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter; 4 | using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging; 5 | using Microsoft.VisualStudio.TestTools.UnitTesting; 6 | using Moq; 7 | 8 | namespace GoogleTestAdapter.TestAdapter 9 | { 10 | 11 | public abstract class TestAdapterTestsBase : TestsBase 12 | { 13 | protected readonly Mock MockRunContext = new Mock(); 14 | protected readonly Mock MockFrameworkHandle = new Mock(); 15 | protected readonly Mock MockVsLogger = new Mock(); 16 | 17 | [TestInitialize] 18 | public override void SetUp() 19 | { 20 | base.SetUp(); 21 | 22 | MockRunContext.Setup(rc => rc.SolutionDirectory).Returns(Path.GetFullPath(TestResources.SampleTestsSolutionDir)); 23 | } 24 | 25 | [TestCleanup] 26 | public override void TearDown() 27 | { 28 | base.TearDown(); 29 | 30 | MockRunContext.Reset(); 31 | MockFrameworkHandle.Reset(); 32 | MockVsLogger.Reset(); 33 | } 34 | 35 | } 36 | 37 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter.Tests/app.config.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="c#" hostspecific="true" #> 2 | <#@ output extension=".config" #> 3 | <#@ parameter type="System.String" name="TestAdapterFlavor" #> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <# if (TestAdapterFlavor == "TAfGT") { #> 15 | 16 | 17 | 18 | <# } #> 19 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/.gitignore: -------------------------------------------------------------------------------- 1 | Key.snk 2 | packages.config 3 | TestExecutorBranding.cs -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/Framework/AttachDebuggerMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GoogleTestAdapter.TestAdapter.Framework 4 | { 5 | [Serializable] 6 | public class AttachDebuggerMessage 7 | { 8 | public int ProcessId { get; set; } 9 | public bool DebuggerAttachedSuccessfully { get; set; } = false; 10 | public string ErrorMessage { get; set; } = null; 11 | } 12 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/Helpers/Throttle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Threading; 4 | 5 | namespace GoogleTestAdapter.TestAdapter.Helpers 6 | { 7 | public class Throttle 8 | { 9 | private readonly int _maxEventsPerTimeSpan; 10 | private readonly TimeSpan _timeSpan; 11 | private readonly Queue _eventTimesHistory; 12 | 13 | public Throttle(int maxEventsPerTimeSpan, TimeSpan timeSpan) 14 | { 15 | _maxEventsPerTimeSpan = maxEventsPerTimeSpan; 16 | _timeSpan = timeSpan; 17 | _eventTimesHistory = new Queue(maxEventsPerTimeSpan); 18 | } 19 | 20 | public void Execute(Action task) 21 | { 22 | if (_eventTimesHistory.Count == _maxEventsPerTimeSpan) 23 | { 24 | var otherEventTime = _eventTimesHistory.Dequeue(); 25 | var timePassed = DateTime.Now - otherEventTime; 26 | if (timePassed < _timeSpan) 27 | Thread.Sleep(_timeSpan - timePassed); 28 | } 29 | 30 | task.Invoke(); 31 | _eventTimesHistory.Enqueue(DateTime.Now); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/Settings/GlobalRunSettingsProvider.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.Composition; 2 | using GoogleTestAdapter.Settings; 3 | 4 | namespace GoogleTestAdapter.TestAdapter.Settings 5 | { 6 | 7 | [Export(typeof(IGlobalRunSettings2))] 8 | [Export(typeof(IGlobalRunSettingsInternal2))] 9 | public class GlobalRunSettingsProvider : IGlobalRunSettingsInternal2 10 | { 11 | public RunSettings RunSettings { get; set; } = new RunSettings(); 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/Settings/IGlobalRunSettings.cs: -------------------------------------------------------------------------------- 1 | using GoogleTestAdapter.Settings; 2 | 3 | namespace GoogleTestAdapter.TestAdapter.Settings 4 | { 5 | 6 | public interface IGlobalRunSettings2 7 | { 8 | RunSettings RunSettings { get; } 9 | } 10 | 11 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/Settings/IGlobalRunSettingsInternal.cs: -------------------------------------------------------------------------------- 1 | using GoogleTestAdapter.Settings; 2 | 3 | namespace GoogleTestAdapter.TestAdapter.Settings 4 | { 5 | 6 | public interface IGlobalRunSettingsInternal2 : IGlobalRunSettings2 7 | { 8 | new RunSettings RunSettings { get; set; } 9 | } 10 | 11 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/Settings/RunSettingsProvider.cs: -------------------------------------------------------------------------------- 1 | // This file has been modified by Microsoft on 6/2017. 2 | 3 | using Microsoft.VisualStudio.TestPlatform.ObjectModel; 4 | using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter; 5 | using System.ComponentModel.Composition; 6 | using System.Xml; 7 | using System.Xml.XPath; 8 | 9 | namespace GoogleTestAdapter.TestAdapter.Settings 10 | { 11 | [Export(typeof(ISettingsProvider))] 12 | [SettingsName(GoogleTestConstants.SettingsName)] 13 | public class RunSettingsProvider : ISettingsProvider 14 | { 15 | public RunSettingsContainer SettingsContainer { get; private set; } 16 | 17 | public string Name { get; private set; } = GoogleTestConstants.SettingsName; 18 | 19 | public void Load(XmlReader reader) 20 | { 21 | var document = new XPathDocument(reader); 22 | var navigator = document.CreateNavigator(); 23 | RunSettingsContainer container = null; 24 | try 25 | { 26 | if (navigator.MoveToChild(GoogleTestConstants.SettingsName, "")) 27 | container = RunSettingsContainer.LoadFromXml(navigator); 28 | } 29 | catch (InvalidRunSettingsException) 30 | { } 31 | SettingsContainer = container ?? new RunSettingsContainer(); 32 | } 33 | 34 | } 35 | 36 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/Settings/TestPropertySettings.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using GoogleTestAdapter.Settings; 5 | using System.Collections.Generic; 6 | 7 | namespace GoogleTestAdapter.TestAdapter.Settings 8 | { 9 | public class TestPropertySettings : ITestPropertySettings 10 | { 11 | public IDictionary Environment { get; private set; } 12 | 13 | public string WorkingDirectory { get; private set; } 14 | 15 | public TestPropertySettings(TestPropertySettingsContainer.TestProperties test) 16 | { 17 | var environment = new Dictionary(); 18 | foreach (var envVar in test.Environment) 19 | { 20 | environment.Add(envVar.Name, envVar.Value); 21 | } 22 | 23 | this.Environment = environment; 24 | this.WorkingDirectory = test.WorkingDirectory; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/TestExecutorBranding.cs.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="c#" hostspecific="true" #> 2 | <#@ output extension=".cs" #> 3 | <#@ parameter type="System.String" name="TestAdapterFlavor" #> 4 | // This file was generated from a template. Any modifications will be lost. 5 | namespace GoogleTestAdapter.TestAdapter 6 | { 7 | 8 | public partial class TestExecutor 9 | { 10 | public const string ExecutorUriString = 11 | <# if (TestAdapterFlavor == "GTA") { #> 12 | "executor://GoogleTestRunner/v1"; 13 | <# } else if (TestAdapterFlavor == "TAfGT") { #> 14 | "executor://TestAdapterForGoogleTest/v1"; 15 | <# } #> 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/TestAdapter/TestPropertySettings.xsd: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestDiscoveryParam/Main.cpp: -------------------------------------------------------------------------------- 1 | #include "string.h" 2 | #include "gtest/gtest.h" 3 | 4 | std::string TEST_DIRECTORY; 5 | 6 | int main(int argc, char ** argv) 7 | { 8 | std::string prefix("-testDiscoveryFlag"); 9 | 10 | for (int i = 0; i < argc; i++) 11 | { 12 | if (strncmp(argv[i], prefix.c_str(), strlen(prefix.c_str())) == 0) 13 | { 14 | ::testing::InitGoogleTest(&argc, argv); 15 | return RUN_ALL_TESTS(); 16 | } 17 | } 18 | return -1; 19 | } 20 | 21 | TEST(TestDiscovery, TestFails) 22 | { 23 | EXPECT_EQ(1000, (10 + 10)); 24 | } 25 | 26 | TEST(TestDiscovery, TestPasses) 27 | { 28 | EXPECT_EQ(20, (10 + 10)); 29 | } 30 | -------------------------------------------------------------------------------- /GoogleTestAdapter/TestDiscoveryParam/TestDiscoveryParam.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/.gitignore: -------------------------------------------------------------------------------- 1 | AbstractConsoleIntegrationTests.cs 2 | app.config -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Fakes/FakeFrameworkReporter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using GoogleTestAdapter.Framework; 3 | using GoogleTestAdapter.Model; 4 | 5 | namespace GoogleTestAdapter.Tests.Common.Fakes 6 | { 7 | public class FakeFrameworkReporter : ITestFrameworkReporter 8 | { 9 | public IList ReportedTestResults { get; } = new List(); 10 | 11 | public void ReportTestsFound(IEnumerable testCases) 12 | { 13 | } 14 | 15 | public void ReportTestsStarted(IEnumerable testCases) 16 | { 17 | } 18 | 19 | public void ReportTestResults(IEnumerable testResults) 20 | { 21 | ((List)ReportedTestResults).AddRange(testResults); 22 | } 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Fakes/FakeLogger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using GoogleTestAdapter.Common; 5 | using GoogleTestAdapter.Helpers; 6 | 7 | namespace GoogleTestAdapter.Tests.Common.Fakes 8 | { 9 | public class FakeLogger : LoggerBase 10 | { 11 | private readonly bool _timeStampLogMessages; 12 | 13 | public IList Infos => GetMessages(Severity.Info); 14 | public IList Warnings => GetMessages(Severity.Warning); 15 | public IList Errors => GetMessages(Severity.Error); 16 | 17 | public IList All => GetMessages(Enum.GetValues(typeof(Severity)).Cast().ToArray()); 18 | 19 | public FakeLogger(Func inDebugMode, bool timestampLogMessages = true) 20 | : base(inDebugMode) 21 | { 22 | _timeStampLogMessages = timestampLogMessages; 23 | } 24 | 25 | public override void Log(Severity severity, string message) 26 | { 27 | if (_timeStampLogMessages) 28 | Utils.TimestampMessage(ref message); 29 | 30 | lock (this) 31 | { 32 | ReportFinalLogEntry(new LogEntry {Severity = severity, Message = message}); 33 | } 34 | } 35 | 36 | } 37 | 38 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Helpers/CiSupport.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GoogleTestAdapter.Tests.Common.Helpers 4 | { 5 | 6 | public static class CiSupport 7 | { 8 | 9 | public static bool IsRunningOnBuildServer => Environment.GetEnvironmentVariable("APPVEYOR") != null; 10 | private static double Weight => IsRunningOnBuildServer ? 2 : 1; 11 | 12 | 13 | public static int GetWeightedDuration(double duration) 14 | { 15 | return (int)Math.Round(duration * Weight); 16 | } 17 | 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Helpers/CsvReader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | 5 | namespace GoogleTestAdapter.Tests.Common.Helpers 6 | { 7 | public abstract class CsvReader 8 | { 9 | private readonly string _csvFile; 10 | private readonly char _separator; 11 | private readonly int _firstDataRow; 12 | 13 | protected CsvReader(string csvFile, char separator, bool header) 14 | { 15 | if (!File.Exists(csvFile)) 16 | throw new ArgumentException($"File does not exist: {csvFile}", nameof(csvFile)); 17 | 18 | _csvFile = csvFile; 19 | _separator = separator; 20 | _firstDataRow = header ? 1 : 0; 21 | } 22 | 23 | protected abstract T GetObject(string[] columns); 24 | 25 | public List GetObjects() 26 | { 27 | List result = new List(); 28 | string[] lines = File.ReadAllLines(_csvFile); 29 | for (int i = _firstDataRow; i < lines.Length; i++) 30 | { 31 | string[] columns = lines[i].Split(_separator); 32 | result.Add(GetObject(columns)); 33 | } 34 | return result; 35 | } 36 | 37 | } 38 | 39 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Helpers/RegistryKeyExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Win32; 2 | 3 | namespace GoogleTestAdapter.Tests.Common.Helpers 4 | { 5 | public static class RegistryKeyExtensions 6 | { 7 | public static bool HasSubKey(this RegistryKey key, string subKey) 8 | { 9 | using (var regKey = key.OpenSubKey(subKey, false)) 10 | { 11 | return regKey != null; 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Helpers/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace GoogleTestAdapter.Tests.Common.Helpers 4 | { 5 | public static class StringExtensions 6 | { 7 | // Thank you, Steve B: http://stackoverflow.com/a/6276029/859211 8 | public static string ReplaceIgnoreCase(this string theString, string oldValue, string newValue) 9 | { 10 | // oldValue and newValue should be treated as plain strings not regex. So they need escaping. 11 | return Regex.Replace(theString, Regex.Escape(oldValue), newValue.Replace("$", "$$"), RegexOptions.IgnoreCase); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Helpers/TestEnvironment.cs: -------------------------------------------------------------------------------- 1 | using GoogleTestAdapter.Common; 2 | using GoogleTestAdapter.Settings; 3 | 4 | namespace GoogleTestAdapter.Tests.Common.Helpers 5 | { 6 | 7 | public class TestEnvironment 8 | { 9 | 10 | public SettingsWrapper Options { get; } 11 | public ILogger Logger { get; } 12 | 13 | 14 | public TestEnvironment(SettingsWrapper options, ILogger logger) 15 | { 16 | Options = options; 17 | Logger = logger; 18 | } 19 | 20 | 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Tests.Common/Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Tests.Common")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Tests.Common")] 13 | [assembly: AssemblyCopyright("Copyright © 2016, 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("2f0e4458-6c1c-461f-a60a-b731ad97e839")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/ListTests.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | .*Tests.*_gta.exe 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/Project.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 3 7 | 3 8 | $(ExecutableDir)\.. 9 | 10 | 11 | 12 | 13 | | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/RunSettingsServiceTests/Provider_delivered.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Solution 7 | 2 8 | 2 9 | Solution///A,B 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/RunSettingsServiceTests/Solution.gta.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Solution 7 | 2 8 | 2 9 | Solution///A,B 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/RunSettingsServiceTests/User.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | true 7 | 3 8 | 3 9 | User///A,B 10 | 11 | 12 | 13 | 14 | 4 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/RunSettingsServiceTests/User_WithoutRunSettingsNode.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/SampleResult1_Broken.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 16 | 17 | 18 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/Solution.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 3 7 | 3 8 | $(ExecutableDir)\.. 9 | ! 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/SolutionProject.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 3 7 | 3 8 | $(ExecutableDir)\.. 9 | ! 10 | 11 | 12 | 13 | 14 | | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/Resources/TestData/Tests_gta_exe_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/Tests.Common/Resources/TestData/Tests_gta_exe_output.txt -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/TestMetadata.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using GoogleTestAdapter.TestAdapter.Framework; 3 | 4 | namespace GoogleTestAdapter.Tests.Common 5 | { 6 | public static class TestMetadata 7 | { 8 | public const bool OverwriteTestResults = false; 9 | 10 | public const VsVersion VersionUnderTest = 11 | #if VERSION_UNDER_TEST_VS2015 12 | VsVersion.VS2015; 13 | #else 14 | VsVersion.VS2017; 15 | #endif 16 | 17 | public static class TestCategories 18 | { 19 | public const string Unit = "Unit"; 20 | public const string Integration = "Integration"; 21 | public const string EndToEnd = "End to end"; 22 | public const string Ui = "UI"; 23 | public const string Load = "Load"; 24 | } 25 | 26 | public static readonly TimeSpan Tolerance = TimeSpan.FromMilliseconds(25); 27 | public static readonly int ToleranceInMs = (int)Math.Ceiling(Tolerance.TotalMilliseconds); 28 | } 29 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/Tests.Common/app.config.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="c#" hostspecific="true" #> 2 | <#@ output extension=".config" #> 3 | <#@ parameter type="System.String" name="TestAdapterFlavor" #> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <# if (TestAdapterFlavor == "TAfGT") { #> 15 | 16 | 17 | 18 | <# } #> 19 | -------------------------------------------------------------------------------- /GoogleTestAdapter/UnicodeNameExe/UnicodeNameExe.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /GoogleTestAdapter/UnicodeNameExe/main.cpp: -------------------------------------------------------------------------------- 1 | int main() 2 | { 3 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA.Tests.Unit/.gitignore: -------------------------------------------------------------------------------- 1 | app.config 2 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA.Tests.Unit/Helpers/RunSettingsServiceUnderTest.cs: -------------------------------------------------------------------------------- 1 | using GoogleTestAdapter.TestAdapter.Settings; 2 | 3 | namespace GoogleTestAdapter.VsPackage.Helpers 4 | { 5 | public class RunSettingsServiceUnderTest : RunSettingsService 6 | { 7 | private readonly string _solutionRunSettingsFile; 8 | 9 | internal RunSettingsServiceUnderTest(IGlobalRunSettings2 globalRunSettings, string solutionRunSettingsFile) 10 | : base(globalRunSettings) 11 | { 12 | _solutionRunSettingsFile = solutionRunSettingsFile; 13 | } 14 | 15 | protected override string GetSolutionSettingsXmlFile() 16 | { 17 | return _solutionRunSettingsFile; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA.Tests.Unit/app.config.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="c#" hostspecific="true" #> 2 | <#@ output extension=".config" #> 3 | <#@ parameter type="System.String" name="TestAdapterFlavor" #> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <# if (TestAdapterFlavor == "TAfGT") { #> 15 | 16 | 17 | 18 | <# } #> 19 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/.gitignore: -------------------------------------------------------------------------------- 1 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/OptionsPages/GeneralOptionsDialogPage.cs: -------------------------------------------------------------------------------- 1 | // This file has been modified by Microsoft on 9/2017. 2 | 3 | using GoogleTestAdapter.Settings; 4 | 5 | namespace GoogleTestAdapter.VsPackage.OptionsPages 6 | { 7 | 8 | public partial class GeneralOptionsDialogPage : NotifyingDialogPage 9 | { 10 | [LocalizedCategory("CategoryMiscName")] 11 | [LocalizedDisplayName("OptionShowReleaseNotes")] 12 | [LocalizedDescription("OptionShowReleaseNotesDescription")] 13 | public bool ShowReleaseNotes 14 | { 15 | get { return _showReleaseNotes; } 16 | set { SetAndNotify(ref _showReleaseNotes, value); } 17 | } 18 | private bool _showReleaseNotes = SettingsWrapper.OptionShowReleaseNotesDefaultValue; 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // This file has been modified by Microsoft on 6/2017. 2 | 3 | using System; 4 | using System.Reflection; 5 | using System.Resources; 6 | using System.Runtime.CompilerServices; 7 | using System.Runtime.InteropServices; 8 | 9 | // General Information about an assembly is controlled through the following 10 | // set of attributes. Change these attribute values to modify the information 11 | // associated with an assembly. 12 | [assembly: AssemblyTitle("GoogleTestAdapter.VsPackage.GTA")] 13 | [assembly: AssemblyDescription("Visual Studio options integration of the Google Test Adapter.")] 14 | [assembly: AssemblyConfiguration("")] 15 | [assembly: AssemblyCompany("Christian Soltenborn, Jonas Gefele")] 16 | [assembly: AssemblyProduct("GoogleTestAdapter.VsPackage.GTA")] 17 | [assembly: AssemblyCopyright("Copyright © 2015, 2016, 2017")] 18 | [assembly: AssemblyTrademark("")] 19 | [assembly: AssemblyCulture("")] 20 | [assembly: ComVisible(false)] 21 | [assembly: CLSCompliant(false)] 22 | [assembly: NeutralResourcesLanguage("en-US")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Revision and Build Numbers 32 | // by using the '*' as shown below: 33 | 34 | [assembly: AssemblyVersion("0.1.0.0")] 35 | [assembly: AssemblyFileVersion("0.1.0.0")] 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/ReleaseNotes/ReleaseNotesDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace GoogleTestAdapter.VsPackage.ReleaseNotes 5 | { 6 | public partial class ReleaseNotesDialog : Form 7 | { 8 | internal class ShowReleaseNotesChangedEventArgs : EventArgs 9 | { 10 | internal bool ShowReleaseNotes { get; set; } 11 | } 12 | 13 | internal event EventHandler ShowReleaseNotesChanged; 14 | 15 | public ReleaseNotesDialog() 16 | { 17 | InitializeComponent(); 18 | 19 | WebBrowser.CanGoBackChanged += (sender, args) => BackButton.Enabled = WebBrowser.CanGoBack; 20 | BackButton.Click += (sender, args) => WebBrowser.GoBack(); 21 | 22 | WebBrowser.CanGoForwardChanged += (sender, args) => ForwardButton.Enabled = WebBrowser.CanGoForward; 23 | ForwardButton.Click += (sender, args) => WebBrowser.GoForward(); 24 | 25 | ShowReleaseNotesCheckBox.Checked = true; 26 | ShowReleaseNotesCheckBox.CheckedChanged += 27 | (sender, args) => ShowReleaseNotesChanged?.Invoke(this, new ShowReleaseNotesChangedEventArgs { ShowReleaseNotes = ShowReleaseNotesCheckBox.Checked }); 28 | 29 | OkButton.Click += (sender, args) => Close(); 30 | } 31 | 32 | internal Uri HtmlFile 33 | { 34 | get { return WebBrowser.Url; } 35 | set { WebBrowser.Url = value; } 36 | } 37 | 38 | } 39 | 40 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.1.0.md: -------------------------------------------------------------------------------- 1 | Initial release -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.2.0.md: -------------------------------------------------------------------------------- 1 | * **breaking change:** setup and tear down batch files are now executed from within the solution directory 2 | * **breaking change:** we have changed the assembly signing key and versioning schema. This apparently has two unintended consequences: 3 | * VS disables the extension. Action: just re-enable it and perform the update. 4 | * VS looses your configurations under *Options/Google Test Adapter*. Action: Re-configure GTA, possibly making use of the new file-based configuration possibilities. 5 | * enhancement: test settings can now be provided via configuration files ([#2](https://github.com/csoltenborn/GoogleTestAdapter/issues/2)) 6 | * enhancement: support for Visual Studio 2013 7 | * bugfix: test directory did not get deleted if non-empty 8 | * bugfix: X64 and VS2013 loggers would crash if invoked with empty message 9 | * bugfix: console output of passing tests is now ignored -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.2.1.md: -------------------------------------------------------------------------------- 1 | * bugfix: error messages were shown if no batch files are provided ([#8](https://github.com/csoltenborn/GoogleTestAdapter/issues/8)) -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.2.2.md: -------------------------------------------------------------------------------- 1 | * enhancement: more compact printing of test parameters ([#1](https://github.com/csoltenborn/GoogleTestAdapter/issues/1)) 2 | * enhancement: debug support via dialogs can be controlled by dedicated option -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.2.3.md: -------------------------------------------------------------------------------- 1 | * bugfix: logging stops working if host process is being reused ([#6](https://github.com/csoltenborn/GoogleTestAdapter/issues/6)) 2 | * bugfix: error message about batch files not being found if no batch files are configured ([#8](https://github.com/csoltenborn/GoogleTestAdapter/issues/8)) 3 | * bugfix: properly handle Dia imports ([#10](https://github.com/csoltenborn/GoogleTestAdapter/issues/10)) 4 | * bugfix: no source locations for typed tests and type-parameterized tests ([#12](https://github.com/csoltenborn/GoogleTestAdapter/issues/12)) 5 | * bugfix: no source locations for typed tests using structs ([#13](https://github.com/csoltenborn/GoogleTestAdapter/issues/13), thanks to [Alfred5020](https://github.com/Alfred5020) for report and example code) 6 | * enhancement: print overall tests duration per thread if in debug mode ([#17](https://github.com/csoltenborn/GoogleTestAdapter/issues/17)) -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.4.1.md: -------------------------------------------------------------------------------- 1 | * bugfix: filtered tests would still be executed when using `VSTest.Console.exe`, even if their results would not be displayed ([#36](https://github.com/csoltenborn/GoogleTestAdapter/issues/36), thanks to [bbusacker](https://github.com/bbusacker) for report and fix) -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.5.0.md: -------------------------------------------------------------------------------- 1 | * enhancement: the most important runtime options (i.e., *Parallel test execution*, *Break on failure*, *Catch exceptions*, and *Print test output*) can now also be set via a toolbar; this is equivalent to setting the according options via *Tools/Options/Google Test Adapter* ([#37](https://github.com/csoltenborn/GoogleTestAdapter/issues/37)) 2 | * enhancement: new option *Test name separator* allows to replace the `/` within Google Test names (which causes VS to truncate test names if the test explorer window is not wide enough) with another string ([#23](https://github.com/csoltenborn/GoogleTestAdapter/issues/23)) 3 | * enhancement: new option *Parse symbol information* allows to switch off parsing of the tests' .pdb files (which speeds up test discovery for the cost of having no test source locations and no macro based traits) ([#41](https://github.com/csoltenborn/GoogleTestAdapter/issues/41), thanks to [Peter Budai](https://github.com/peterbudai) for the pull request) 4 | * enhancement: license is now provided in a more standardized way ([#40](https://github.com/csoltenborn/GoogleTestAdapter/issues/40), thanks to [Peter Budai](https://github.com/peterbudai)) 5 | * bugfix: traits information had been optimized away by certain compiler optimizations ([#39](https://github.com/csoltenborn/GoogleTestAdapter/issues/39)) -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.5.1.md: -------------------------------------------------------------------------------- 1 | * bugfix: test adapter would not install on VS2013 any more due to broken references ([#42](https://github.com/csoltenborn/GoogleTestAdapter/issues/42), thanks to [kornman00](https://github.com/kornman00) for report and testing) -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.6.0.md: -------------------------------------------------------------------------------- 1 | * enhancement: the location of the pdb file is now also looked up within the according test executable, providing source locations and traits even in cases were the pdb's name is different from the name of the test executable, or where the pdb ends up outside of the executable's path ([#45](https://github.com/csoltenborn/GoogleTestAdapter/pull/45), thanks to [Stefan Winkler](https://github.com/nafest) for the pull request) 2 | * enhancement: options are now grouped into categories ([#44](https://github.com/csoltenborn/GoogleTestAdapter/issues/44)) 3 | * enhancement: release notes are shown after the extension has been updated ([#48](https://github.com/csoltenborn/GoogleTestAdapter/issues/48)) 4 | * bugfix: if [Dia crashed](https://connect.microsoft.com/VisualStudio/feedback/details/1908082/dia140-fails-in-various-ways-when-using-debug-fastlink), the pdb under analysis remained locked, and the tests contained in the according test executable were not found (part of [#46](https://github.com/csoltenborn/GoogleTestAdapter/issues/46), thanks to [Jesse Olmer](https://github.com/JesseOlmer) for report and example solution) -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.GTA/Resources/ReleaseNotes/0.9.1.md: -------------------------------------------------------------------------------- 1 | * enhancement: trait assignment via regexes has been re-added since it apparently does have users ([#94](https://github.com/csoltenborn/GoogleTestAdapter/issues/94)) 2 | * bugfix: new test output parser had issues with test output not ending with a line break ([#110](https://github.com/csoltenborn/GoogleTestAdapter/issues/110)) 3 | * bugfix: release notes had display issues ([#112](https://github.com/csoltenborn/GoogleTestAdapter/issues/112)) -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/.gitignore: -------------------------------------------------------------------------------- 1 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/Commands/SwitchBreakOnFailureOptionCommand.cs: -------------------------------------------------------------------------------- 1 | namespace GoogleTestAdapter.VsPackage.Commands 2 | { 3 | 4 | internal sealed class SwitchBreakOnFailureOptionCommand : AbstractSwitchBooleanOptionCommand 5 | { 6 | 7 | private SwitchBreakOnFailureOptionCommand(IGoogleTestExtensionOptionsPage package) : base(package, 0x0101) {} 8 | 9 | private static SwitchBreakOnFailureOptionCommand Instance 10 | { 11 | get; set; 12 | } 13 | 14 | internal static void Initialize(IGoogleTestExtensionOptionsPage package) 15 | { 16 | Instance = new SwitchBreakOnFailureOptionCommand(package); 17 | } 18 | 19 | protected override bool Value 20 | { 21 | get { return Package.BreakOnFailure; } 22 | set { Package.BreakOnFailure = value; } 23 | } 24 | 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/Commands/SwitchCatchExceptionsOptionCommand.cs: -------------------------------------------------------------------------------- 1 | namespace GoogleTestAdapter.VsPackage.Commands 2 | { 3 | 4 | internal sealed class SwitchCatchExceptionsOptionCommand : AbstractSwitchBooleanOptionCommand 5 | { 6 | 7 | private SwitchCatchExceptionsOptionCommand(IGoogleTestExtensionOptionsPage package) : base(package, 0x0100) {} 8 | 9 | private static SwitchCatchExceptionsOptionCommand Instance 10 | { 11 | get; set; 12 | } 13 | 14 | internal static void Initialize(IGoogleTestExtensionOptionsPage package) 15 | { 16 | Instance = new SwitchCatchExceptionsOptionCommand(package); 17 | } 18 | 19 | protected override bool Value 20 | { 21 | get { return Package.CatchExtensions; } 22 | set { Package.CatchExtensions = value; } 23 | } 24 | 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/Commands/SwitchParallelExecutionOptionCommand.cs: -------------------------------------------------------------------------------- 1 | namespace GoogleTestAdapter.VsPackage.Commands 2 | { 3 | 4 | internal sealed class SwitchParallelExecutionOptionCommand : AbstractSwitchBooleanOptionCommand 5 | { 6 | 7 | private SwitchParallelExecutionOptionCommand(IGoogleTestExtensionOptionsPage package) : base(package, 0x0102) {} 8 | 9 | private static SwitchParallelExecutionOptionCommand Instance 10 | { 11 | get; set; 12 | } 13 | 14 | internal static void Initialize(IGoogleTestExtensionOptionsPage package) 15 | { 16 | Instance = new SwitchParallelExecutionOptionCommand(package); 17 | } 18 | 19 | protected override bool Value 20 | { 21 | get { return Package.ParallelTestExecution; } 22 | set { Package.ParallelTestExecution = value; } 23 | } 24 | 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/Commands/SwitchPrintTestOutputOptionCommand.cs: -------------------------------------------------------------------------------- 1 | namespace GoogleTestAdapter.VsPackage.Commands 2 | { 3 | 4 | internal sealed class SwitchPrintTestOutputOptionCommand : AbstractSwitchBooleanOptionCommand 5 | { 6 | 7 | private SwitchPrintTestOutputOptionCommand(IGoogleTestExtensionOptionsPage package) : base(package, 0x0103) {} 8 | 9 | private static SwitchPrintTestOutputOptionCommand Instance 10 | { 11 | get; set; 12 | } 13 | 14 | internal static void Initialize(IGoogleTestExtensionOptionsPage package) 15 | { 16 | Instance = new SwitchPrintTestOutputOptionCommand(package); 17 | } 18 | 19 | protected override bool Value 20 | { 21 | get { return Package.PrintTestOutput; } 22 | set { Package.PrintTestOutput = value; } 23 | } 24 | 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/IGoogleTestExtensionOptionsPage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GoogleTestAdapter.VsPackage 4 | { 5 | public interface IGoogleTestExtensionOptionsPage : IServiceProvider 6 | { 7 | bool CatchExtensions { get; set; } 8 | bool BreakOnFailure { get; set; } 9 | bool ParallelTestExecution { get; set; } 10 | bool PrintTestOutput { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/OptionsPages/LocalizedCategoryAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System.ComponentModel; 5 | using GoogleTestAdapter.Settings; 6 | 7 | namespace GoogleTestAdapter.VsPackage.OptionsPages 8 | { 9 | class LocalizedCategoryAttribute : CategoryAttribute 10 | { 11 | private readonly string ResourceName; 12 | 13 | public LocalizedCategoryAttribute(string resourceName) 14 | : base() 15 | { 16 | this.ResourceName = resourceName; 17 | } 18 | 19 | protected override string GetLocalizedString(string value) 20 | { 21 | return (string)typeof(SettingsWrapper).GetField(ResourceName).GetValue(null); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/OptionsPages/LocalizedDescriptionAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System.ComponentModel; 5 | using GoogleTestAdapter.Settings; 6 | 7 | namespace GoogleTestAdapter.VsPackage.OptionsPages 8 | { 9 | class LocalizedDescriptionAttribute : DescriptionAttribute 10 | { 11 | private readonly string ResourceName; 12 | 13 | public LocalizedDescriptionAttribute(string resourceName) 14 | : base() 15 | { 16 | this.ResourceName = resourceName; 17 | } 18 | 19 | public override string Description 20 | { 21 | get { return (string)typeof(SettingsWrapper).GetField(ResourceName).GetValue(null); } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/OptionsPages/LocalizedDisplayNameAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System.ComponentModel; 5 | using GoogleTestAdapter.Settings; 6 | 7 | namespace GoogleTestAdapter.VsPackage.OptionsPages 8 | { 9 | class LocalizedDisplayNameAttribute : DisplayNameAttribute 10 | { 11 | private readonly string ResourceName; 12 | 13 | public LocalizedDisplayNameAttribute(string resourceName) 14 | : base() 15 | { 16 | this.ResourceName = resourceName; 17 | } 18 | 19 | public override string DisplayName 20 | { 21 | get { return (string)typeof(SettingsWrapper).GetField(ResourceName).GetValue(null); } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/OptionsPages/NotifyingDialogPage.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.ComponentModel; 3 | using System.Runtime.CompilerServices; 4 | using Microsoft.VisualStudio.Shell; 5 | 6 | namespace GoogleTestAdapter.VsPackage.OptionsPages 7 | { 8 | 9 | public abstract class NotifyingDialogPage : DialogPage, INotifyPropertyChanged 10 | { 11 | public event PropertyChangedEventHandler PropertyChanged; 12 | 13 | protected void SetAndNotify(ref T field, T value, [CallerMemberName] string propertyName = null) 14 | { 15 | if (EqualityComparer.Default.Equals(field, value)) 16 | return; 17 | field = value; 18 | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); 19 | } 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/OptionsPages/ParallelizationOptionsDialogPage.cs: -------------------------------------------------------------------------------- 1 | // This file has been modified by Microsoft on 9/2017. 2 | 3 | using GoogleTestAdapter.Settings; 4 | using System; 5 | 6 | namespace GoogleTestAdapter.VsPackage.OptionsPages 7 | { 8 | 9 | public class ParallelizationOptionsDialogPage : NotifyingDialogPage 10 | { 11 | [LocalizedCategory("CategoryParallelizationName")] 12 | [LocalizedDisplayName("OptionEnableParallelTestExecution")] 13 | [LocalizedDescription("OptionEnableParallelTestExecutionDescription")] 14 | public bool EnableParallelTestExecution 15 | { 16 | get { return _enableParallelTestExecution; } 17 | set { SetAndNotify(ref _enableParallelTestExecution, value); } 18 | } 19 | private bool _enableParallelTestExecution = SettingsWrapper.OptionEnableParallelTestExecutionDefaultValue; 20 | 21 | [LocalizedCategory("CategoryParallelizationName")] 22 | [LocalizedDisplayName("OptionMaxNrOfThreads")] 23 | [LocalizedDescription("OptionMaxNrOfThreadsDescription")] 24 | public int MaxNrOfThreads 25 | { 26 | get { return _maxNrOfThreads; } 27 | set 28 | { 29 | if (value < 0) 30 | throw new ArgumentOutOfRangeException(nameof(value), value, "Expected a number greater than or equal to 0."); 31 | SetAndNotify(ref _maxNrOfThreads, value); 32 | } 33 | } 34 | private int _maxNrOfThreads = SettingsWrapper.OptionMaxNrOfThreadsDefaultValue; 35 | } 36 | 37 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/Resources/Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestAdapter/VsPackage.Shared/Resources/Screenshot.png -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Shared/VsPackage.Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ac75f34e-190b-402a-8c46-91b0fa02450f 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.TAfGT/.gitignore: -------------------------------------------------------------------------------- 1 | Key.snk -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.TAfGT/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System; 5 | using System.Reflection; 6 | using System.Resources; 7 | using System.Runtime.CompilerServices; 8 | using System.Runtime.InteropServices; 9 | 10 | // General Information about an assembly is controlled through the following 11 | // set of attributes. Change these attribute values to modify the information 12 | // associated with an assembly. 13 | [assembly: AssemblyTitle("GoogleTestAdapter.VsPackage.TAfGT")] 14 | [assembly: AssemblyDescription("Visual Studio options integration of the Test Adapter for Google Test.")] 15 | [assembly: AssemblyConfiguration("")] 16 | [assembly: AssemblyCompany("Microsoft")] 17 | [assembly: AssemblyProduct("GoogleTestAdapter.VsPackage.TAfGT")] 18 | [assembly: AssemblyCopyright("Copyright © 2017")] 19 | [assembly: AssemblyTrademark("")] 20 | [assembly: AssemblyCulture("")] 21 | [assembly: ComVisible(false)] 22 | [assembly: CLSCompliant(false)] 23 | [assembly: NeutralResourcesLanguage("en-US")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | 35 | [assembly: AssemblyVersion("0.1.0.0")] 36 | [assembly: AssemblyFileVersion("0.1.0.0")] 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/.gitignore: -------------------------------------------------------------------------------- 1 | app.config 2 | ConsoleTests.cs 3 | TestErrors 4 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/GTA_Console.csv: -------------------------------------------------------------------------------- 1 | TestFile Settings TestCaseFilter EnableCodeCoverage InIsolation Ignore 2 | SampleTests SolutionProject none true true false 3 | SampleTests true Type=Small false false false 4 | SampleTests false *NotExisting=Foo true false false 5 | SampleTests false DisplayName=TestMath.AddPassesWithTraits false true false 6 | HardCrashingSampleTests false none false false false 7 | SampleTests true DisplayName=TestMath.AddPassesWithTraits true false false 8 | SampleTests true TestCategory=NotExisting false true false 9 | SampleTests false Type=Small true true false 10 | SampleTests false DisplayName=TestMath.AddPassesWithTraits|Type=Small true true false 11 | SampleTests true TestCategory=Unit&Type=Medium false true false 12 | SampleTests false TestCategory=Unit&Type=Medium true false false 13 | SampleTests false TestCategory=NotExisting true false false 14 | HardCrashingSampleTests true none true true false 15 | SampleTests true DisplayName=TestMath.AddPassesWithTraits|Type=Small false false false 16 | SampleTests Solution *NotExisting=Foo false true false 17 | SampleTests170 true DisplayName=TestMath.AddPassesWithTraits|Type=Small false false false 18 | SampleTests170 SolutionProject none true true false 19 | SampleTests170 false TestCategory=NotExisting true true false 20 | SampleTests170 true Type=Small true false false 21 | SampleTests170 true TestCategory=Unit&Type=Medium false true false 22 | SampleTests170 Solution *NotExisting=Foo false false false 23 | SampleTests170 true DisplayName=TestMath.AddPassesWithTraits false true false -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/GTA_Console.pictmodel: -------------------------------------------------------------------------------- 1 | # TestFiles are mapped to actual executables in TestcaseCsvReader 2 | TestFile: SampleTests, HardCrashingSampleTests, SampleTests170, SampleTestsX64 3 | Settings: true, false, Solution, SolutionProject 4 | TestCaseFilter: none, DisplayName=TestMath.AddPassesWithTraits, Type=Small, DisplayName=TestMath.AddPassesWithTraits|Type=Small, TestCategory=Unit&Type=Medium, TestCategory=NotExisting, *NotExisting=Foo 5 | EnableCodeCoverage: true, false 6 | InIsolation: true, false 7 | 8 | # only SampleTests has tests with traits 9 | IF [TestCaseFilter] <> "none" THEN ([TestFile] = "SampleTests" OR [TestFile] = "SampleTests170" OR [TestFile] = "SampleTestsX64"); 10 | 11 | # X64 does not work (why?) 12 | [TestFile] <> "SampleTestsX64"; 13 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/GenerateCSV.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set BASE_DIR=%~dp0 4 | 5 | set PICT_EXE="%BASE_DIR%3rdparty\pict\pict.exe" 6 | set MODEL="%BASE_DIR%GTA_Console.pictmodel" 7 | set CSV="%BASE_DIR%GTA_Console.csv" 8 | set TEMP_SEED="%BASE_DIR%seed.pictmodel" 9 | 10 | 11 | if exist %CSV% ( 12 | echo Generating test data using existing data as seed ===== 13 | move %CSV% %TEMP_SEED% 14 | %PICT_EXE% %MODEL% -a:# -e:%TEMP_SEED% >%CSV% 15 | del %TEMP_SEED% 16 | ) else ( 17 | echo Generating test data from scratch ===== 18 | %PICT_EXE% %MODEL% -a:# >%CSV% 19 | ) 20 | echo ===== Generation done, target file is 21 | echo %CSV% 22 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/GoldenFiles/ConsoleDllTests__List_TestsOf_HardCrashingSampleTests.txt: -------------------------------------------------------------------------------- 1 | Crashing.AddFailsBeforeCrash 2 | Crashing.AddPassesBeforeCrash 3 | Crashing.TheCrash 4 | Crashing.AddFailsAfterCrash 5 | Crashing.AddPassesAfterCrash 6 | Crashing.LongRunning -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/GoldenFiles/ConsoleDllTests__SampleTests170_Settings_Isolation_DisplayName_EQ_TestMath_AddPassesWithTraits.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/GoldenFiles/ConsoleDllTests__SampleTests_Isolation_DisplayName_EQ_TestMath_AddPassesWithTraits.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/GoldenFiles/ConsoleDllTests__SampleTests_Settings_Coverage_DisplayName_EQ_TestMath_AddPassesWithTraits.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("VsPackage.Tests.Generated")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("VsPackage.Tests.Generated")] 13 | [assembly: AssemblyCopyright("Copyright © 2016, 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("032bebf7-2d2b-4cfd-b53d-e3d21b3ac9d6")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests.Generated/app.config.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="c#" hostspecific="true" #> 2 | <#@ output extension=".config" #> 3 | <#@ parameter type="System.String" name="TestAdapterFlavor" #> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <# if (TestAdapterFlavor == "TAfGT") { #> 15 | 16 | 17 | 18 | <# } #> 19 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests/.gitignore: -------------------------------------------------------------------------------- 1 | app.config 2 | packages.config 3 | TestErrors -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests/ConsoleDllIntegrationTests.cs: -------------------------------------------------------------------------------- 1 | using GoogleTestAdapter.Tests.Common; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | using static GoogleTestAdapter.Tests.Common.TestMetadata.TestCategories; 4 | 5 | namespace GoogleTestAdapter.VsPackage 6 | { 7 | 8 | [TestClass] 9 | public class ConsoleDllIntegrationTests : AbstractConsoleIntegrationTests 10 | { 11 | 12 | protected override string GetAdapterIntegration() 13 | { 14 | return GetLogger() + @"/TestAdapterPath:" + TestAdapterDir; 15 | } 16 | 17 | #region method stubs for code coverage 18 | 19 | [TestMethod] 20 | [TestCategory(EndToEnd)] 21 | public override void Console_ListDiscoverers_DiscovererIsListed() 22 | { 23 | base.Console_ListDiscoverers_DiscovererIsListed(); 24 | } 25 | 26 | [TestMethod] 27 | [TestCategory(EndToEnd)] 28 | public override void Console_ListExecutors_ExecutorIsListed() 29 | { 30 | base.Console_ListExecutors_ExecutorIsListed(); 31 | } 32 | 33 | [TestMethod] 34 | [TestCategory(EndToEnd)] 35 | public override void Console_ListSettingsProviders_SettingsProviderIsListed() 36 | { 37 | base.Console_ListSettingsProviders_SettingsProviderIsListed(); 38 | } 39 | 40 | #endregion 41 | 42 | } 43 | 44 | } -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("GoogleTestAdapter.VsPackage.Tests")] 9 | [assembly: AssemblyDescription("UI tests for the Google Test Adapter")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Christian Soltenborn, Jonas Gefele")] 12 | [assembly: AssemblyProduct("GoogleTestAdapter.VsPackage.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2015, 2016, 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("b9c827b5-dc90-4a78-b477-852eae1196af")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.1.0.0")] 36 | [assembly: AssemblyFileVersion("0.1.0.0")] 37 | -------------------------------------------------------------------------------- /GoogleTestAdapter/VsPackage.Tests/app.config.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="c#" hostspecific="true" #> 2 | <#@ output extension=".config" #> 3 | <#@ parameter type="System.String" name="TestAdapterFlavor" #> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <# if (TestAdapterFlavor == "TAfGT") { #> 15 | 16 | 17 | 18 | <# } #> 19 | -------------------------------------------------------------------------------- /GoogleTestNuGet/.gitignore: -------------------------------------------------------------------------------- 1 | Intermediate -------------------------------------------------------------------------------- /GoogleTestNuGet/1028/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1029/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1031/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1033/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1034/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1036/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1040/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1041/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1042/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1045/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1046/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1049/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/1055/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/2052/googletest.propertiesui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /GoogleTestNuGet/googletest.SignNuGet.proj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {9C5FB75F-BE2A-4358-A2C8-E950EB2A027A} 7 | $(FlavoredTargetFrameworkVersion) 8 | 9 | 10 | $(MSBuildThisFileDirectory)\..\GoogleTestAdapter\Packages 11 | $(MSBuildThisFileDirectory)\..\GoogleTestAdapter\Packages 12 | library 13 | 2008 14 | 15 | 16 | 17 | NuGet 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /GoogleTestNuGet/googletest.nuspec.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="c#" hostspecific="true" #> 2 | <#@ output extension=".nuspec" #> 3 | <#@ parameter type="System.String" name="PackageName" #> 4 | 5 | 6 | 7 | <#= PackageName #> 8 | 1.8.1.7 9 | Microsoft 10 | microsoft,visualcpp 11 | https://github.com/Microsoft/TestAdapterForGoogleTest 12 | https://raw.githubusercontent.com/Microsoft/TestAdapterForGoogleTest/dev15/GoogleTestNuGet/license%20(MIT).txt 13 | true 14 | © Microsoft Corporation. All rights reserved. 15 | Google Test compiled for Windows. 16 | native googletest google test gtest c++ cpp 17 | https://raw.githubusercontent.com/Microsoft/TestAdapterForGoogleTest/dev15/GoogleTestAdapter/Resources/Icons/Icon_128.png 18 | 19 | 20 | -------------------------------------------------------------------------------- /GoogleTestNuGet/googletest.nuspec.tt.proj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TextTemplatingFileGenerator 7 | $(OutputFileName) 8 | 9 | 10 | $(PackageName) 11 | 12 | 13 | -------------------------------------------------------------------------------- /GoogleTestNuGet/googletest.targets.tt.proj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TextTemplatingFileGenerator 7 | $(OutputFileName) 8 | 9 | 10 | $(PackageName) 11 | $(PackageNameDashes) 12 | $(PathToBinaries) 13 | $(ConfigurationType) 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /GoogleTestNuGet/license (MIT).txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/GoogleTestNuGet/license (MIT).txt -------------------------------------------------------------------------------- /GoogleTestNuGet/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Test Adapter for Google Test 2 | 3 | Copyright (c) Microsoft Corporation 4 | 5 | All rights reserved. 6 | 7 | MIT License 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 14 | -------------------------------------------------------------------------------- /NuGet.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SampleTests/.gitignore: -------------------------------------------------------------------------------- 1 | SampleTests.VC.db 2 | SampleTests.VC.VC.opendb 3 | packages -------------------------------------------------------------------------------- /SampleTests/3rdparty/gtest-1.7.0/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This file contains a list of people who've made non-trivial 2 | # contribution to the Google C++ Testing Framework project. People 3 | # who commit code to the project are encouraged to add their names 4 | # here. Please keep the list sorted by first names. 5 | 6 | Ajay Joshi 7 | Balázs Dán 8 | Bharat Mediratta 9 | Chandler Carruth 10 | Chris Prince 11 | Chris Taylor 12 | Dan Egnor 13 | Eric Roman 14 | Hady Zalek 15 | Jeffrey Yasskin 16 | Jói Sigurðsson 17 | Keir Mierle 18 | Keith Ray 19 | Kenton Varda 20 | Manuel Klimek 21 | Markus Heule 22 | Mika Raento 23 | Miklós Fazekas 24 | Pasi Valminen 25 | Patrick Hanna 26 | Patrick Riley 27 | Peter Kaminski 28 | Preston Jackson 29 | Rainer Klaffenboeck 30 | Russ Cox 31 | Russ Rufer 32 | Sean Mcafee 33 | Sigurður Ásgeirsson 34 | Tracy Bialik 35 | Vadim Berman 36 | Vlad Losev 37 | Zhanyong Wan 38 | -------------------------------------------------------------------------------- /SampleTests/3rdparty/gtest-1.7.0/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2008, Google Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /SampleTests/3rdparty/gtest-1.8.0/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This file contains a list of people who've made non-trivial 2 | # contribution to the Google C++ Testing Framework project. People 3 | # who commit code to the project are encouraged to add their names 4 | # here. Please keep the list sorted by first names. 5 | 6 | Ajay Joshi 7 | Balázs Dán 8 | Bharat Mediratta 9 | Chandler Carruth 10 | Chris Prince 11 | Chris Taylor 12 | Dan Egnor 13 | Eric Roman 14 | Hady Zalek 15 | Jeffrey Yasskin 16 | Jói Sigurðsson 17 | Keir Mierle 18 | Keith Ray 19 | Kenton Varda 20 | Manuel Klimek 21 | Markus Heule 22 | Mika Raento 23 | Miklós Fazekas 24 | Pasi Valminen 25 | Patrick Hanna 26 | Patrick Riley 27 | Peter Kaminski 28 | Preston Jackson 29 | Rainer Klaffenboeck 30 | Russ Cox 31 | Russ Rufer 32 | Sean Mcafee 33 | Sigurður Ásgeirsson 34 | Tracy Bialik 35 | Vadim Berman 36 | Vlad Losev 37 | Zhanyong Wan 38 | -------------------------------------------------------------------------------- /SampleTests/3rdparty/gtest-1.8.0/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2008, Google Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /SampleTests/Common.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -$(Platform) 8 | 9 | 10 | $(EnlistmentRoot)out\binaries\$(SolutionName)\$(Configuration)$(PlatformSuffix)\ 11 | $(OutDir) 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /SampleTests/CrashingTests/CrashReallyHard32.asm: -------------------------------------------------------------------------------- 1 | .model flat 2 | .code 3 | 4 | _CrashReallyHard PROC 5 | 6 | mov ESP, 0 7 | ret 8 | 9 | _CrashReallyHard ENDP 10 | 11 | END -------------------------------------------------------------------------------- /SampleTests/CrashingTests/CrashReallyHard64.asm: -------------------------------------------------------------------------------- 1 | 2 | .code 3 | 4 | CrashReallyHard PROC 5 | 6 | mov ESP, 0 7 | ret 8 | 9 | CrashReallyHard ENDP 10 | 11 | END -------------------------------------------------------------------------------- /SampleTests/CrashingTests/CrashingTests.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | #include 3 | #include "../LibProject/Lib.h" 4 | #include "../../GoogleTestAdapter/Core/Resources/GTA_Traits_1.8.0.h" 5 | 6 | #include "../Tests/Main.cpp" 7 | 8 | extern "C" void CrashReallyHard(void); 9 | 10 | TEST(Crashing, AddFailsBeforeCrash) 11 | { 12 | EXPECT_EQ(1000, Add(10, 10)); 13 | } 14 | 15 | TEST(Crashing, AddPassesBeforeCrash) 16 | { 17 | EXPECT_EQ(20, Add(10, 10)); 18 | } 19 | 20 | TEST(Crashing, TheCrash) 21 | { 22 | CrashReallyHard(); 23 | } 24 | 25 | TEST(Crashing, AddFailsAfterCrash) 26 | { 27 | EXPECT_EQ(1000, Add(10, 10)); 28 | } 29 | 30 | TEST(Crashing, AddPassesAfterCrash) 31 | { 32 | EXPECT_EQ(20, Add(10, 10)); 33 | } 34 | 35 | TEST(Crashing, LongRunning) 36 | { 37 | Concurrency::wait(2000); 38 | EXPECT_EQ(1, 1); 39 | } 40 | -------------------------------------------------------------------------------- /SampleTests/CrashingTests/CrashingTests.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | 26 | 27 | Source Files 28 | 29 | 30 | 31 | 32 | Source Files 33 | 34 | 35 | -------------------------------------------------------------------------------- /SampleTests/DllDependentProject/DllDependentProject.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Quelldateien 23 | 24 | 25 | Quelldateien 26 | 27 | 28 | Quelldateien 29 | 30 | 31 | -------------------------------------------------------------------------------- /SampleTests/DllDependentProject/DllTests.cpp: -------------------------------------------------------------------------------- 1 | #include "../DllProject/DllProject.h" 2 | #include "gtest\gtest.h" 3 | 4 | TEST(Passing, InvokeFunction) 5 | { 6 | ASSERT_EQ(0, ReturnZero()); 7 | } 8 | 9 | TEST(Failing, InvokeFunction) 10 | { 11 | ASSERT_EQ(1, ReturnZero()); 12 | } -------------------------------------------------------------------------------- /SampleTests/DllProject/DllProject.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "DllProject.h" 3 | 4 | int ReturnZero() 5 | { 6 | return 0; 7 | } -------------------------------------------------------------------------------- /SampleTests/DllProject/DllProject.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifdef DLL_LIBRARY_EXPORTS 4 | #define DLL_LIBRARY_API __declspec(dllexport) 5 | #else 6 | #define DLL_LIBRARY_API __declspec(dllimport) 7 | #endif 8 | 9 | DLL_LIBRARY_API int ReturnZero(); -------------------------------------------------------------------------------- /SampleTests/DllProject/DllProject.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Headerdateien 23 | 24 | 25 | Headerdateien 26 | 27 | 28 | Headerdateien 29 | 30 | 31 | 32 | 33 | Quelldateien 34 | 35 | 36 | Quelldateien 37 | 38 | 39 | Quelldateien 40 | 41 | 42 | -------------------------------------------------------------------------------- /SampleTests/DllProject/dllmain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/SampleTests/DllProject/dllmain.cpp -------------------------------------------------------------------------------- /SampleTests/DllProject/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/SampleTests/DllProject/stdafx.cpp -------------------------------------------------------------------------------- /SampleTests/DllProject/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/SampleTests/DllProject/stdafx.h -------------------------------------------------------------------------------- /SampleTests/DllProject/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/SampleTests/DllProject/targetver.h -------------------------------------------------------------------------------- /SampleTests/LibProject/Lib.cpp: -------------------------------------------------------------------------------- 1 | // ConsoleApplication1.cpp : Defines the entry point for the console application. 2 | // 3 | 4 | #include "stdafx.h" 5 | #include "Lib.h" 6 | 7 | 8 | 9 | int Add(int i1, int i2) 10 | { 11 | return i1 + i2; 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /SampleTests/LibProject/Lib.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | extern int Add(int i1, int i2); 4 | 5 | -------------------------------------------------------------------------------- /SampleTests/LibProject/LibProject.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Header Files 20 | 21 | 22 | Header Files 23 | 24 | 25 | Header Files 26 | 27 | 28 | 29 | 30 | Source Files 31 | 32 | 33 | Source Files 34 | 35 | 36 | -------------------------------------------------------------------------------- /SampleTests/LibProject/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // ConsoleApplication1.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /SampleTests/LibProject/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #include 11 | #include 12 | 13 | 14 | 15 | // TODO: reference additional headers your program requires here 16 | -------------------------------------------------------------------------------- /SampleTests/LibProject/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /SampleTests/LoadTests/LoadTests.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | #include "../Tests/Main.cpp" 4 | 5 | 6 | class LoadTests : public testing::TestWithParam{}; 7 | 8 | TEST_P(LoadTests, Test) { 9 | EXPECT_EQ(1, GetParam() % 2); 10 | } 11 | 12 | // create any number of tests here 13 | INSTANTIATE_TEST_CASE_P(, LoadTests, testing::Range(0, 5000)); -------------------------------------------------------------------------------- /SampleTests/LoadTests/LoadTests.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | -------------------------------------------------------------------------------- /SampleTests/LongRunningTests/LongRunningTests.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | -------------------------------------------------------------------------------- /SampleTests/No.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /SampleTests/NonDeterministic.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | true 7 | 3 8 | Tests\Returns0.bat 9 | true 10 | 11 | 12 | 13 | 14 | 3 15 | 16 | 17 | 4 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /SampleTests/SampleTests.gta.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -testdirectory=$(TestDir) 7 | Tests\Returns0.bat 8 | Tests\Returns0.bat 9 | $(SolutionDir) 10 | 11 | 12 | 13 | 14 | Tests\Returns1.bat 15 | .*Tests.*_gta.exe 16 | 17 | 18 | Tests\Returns1.bat 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /SampleTests/Tests/FixtureTests.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | #include "../LibProject/Lib.h" 3 | #include "gtest_wrapper.h" 4 | 5 | 6 | class TheFixture : public testing::Test 7 | { 8 | }; 9 | 10 | TEST_F(TheFixture, AddFails) 11 | { 12 | EXPECT_EQ(1000, Add(10, 10)); 13 | } 14 | 15 | TEST_F(TheFixture, AddPasses) 16 | { 17 | EXPECT_EQ(20, Add(10, 10)); 18 | } 19 | 20 | TEST_F(TheFixture, Crash) 21 | { 22 | int* pInt = NULL; 23 | EXPECT_EQ(20, Add(*pInt, 10)); 24 | } 25 | 26 | TEST_F_TRAITS(TheFixture, AddPassesWithTraits, Type, Small) 27 | { 28 | EXPECT_EQ(20, Add(10, 10)); 29 | } 30 | 31 | TEST_F_TRAITS(TheFixture, AddPassesWithTraits2, Type, Small, Author, CSO) 32 | { 33 | EXPECT_EQ(20, Add(10, 10)); 34 | } 35 | 36 | TEST_F_TRAITS(TheFixture, AddPassesWithTraits3, Type, Small, Author, CSO, TestCategory, Integration) 37 | { 38 | EXPECT_EQ(20, Add(10, 10)); 39 | } 40 | -------------------------------------------------------------------------------- /SampleTests/Tests/LongRunningTests.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "gtest/gtest.h" 3 | 4 | #include "../Tests/Main.cpp" 5 | 6 | TEST(LongRunningTests, Test1) 7 | { 8 | Concurrency::wait(2000); 9 | EXPECT_EQ(1, 1); 10 | } 11 | 12 | TEST(LongRunningTests, Test2) 13 | { 14 | Concurrency::wait(2000); 15 | EXPECT_EQ(1, 2); 16 | } 17 | -------------------------------------------------------------------------------- /SampleTests/Tests/Main.cpp: -------------------------------------------------------------------------------- 1 | #include "Main.h" 2 | #include "string.h" 3 | #include "gtest/gtest.h" 4 | 5 | std::string TEST_DIRECTORY; 6 | 7 | int main(int argc, char ** argv) 8 | { 9 | std::string prefix("-testdirectory="); 10 | 11 | for (int i = 0; i < argc; i++) 12 | { 13 | if (strncmp(argv[i], prefix.c_str(), strlen(prefix.c_str())) == 0) 14 | { 15 | std::string testDirectory(argv[i]); 16 | testDirectory.erase(0, strlen(prefix.c_str())); 17 | TEST_DIRECTORY = testDirectory; 18 | } 19 | } 20 | 21 | ::testing::InitGoogleTest(&argc, argv); 22 | return RUN_ALL_TESTS(); 23 | } 24 | 25 | void CheckIfZeroInMain(int i) 26 | { 27 | EXPECT_EQ(0, i); 28 | } 29 | 30 | void HelpMethodWithScopedTrace() 31 | { 32 | SCOPED_TRACE("Main HelperMethod"); 33 | CheckIfZeroInMain(1); 34 | } 35 | -------------------------------------------------------------------------------- /SampleTests/Tests/Main.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | int main(int argc, char **argv); 5 | 6 | void CheckIfZeroInMain(int i); 7 | void HelpMethodWithScopedTrace(); -------------------------------------------------------------------------------- /SampleTests/Tests/Returns0.bat: -------------------------------------------------------------------------------- 1 | exit 0 -------------------------------------------------------------------------------- /SampleTests/Tests/Returns1.bat: -------------------------------------------------------------------------------- 1 | exit 1 -------------------------------------------------------------------------------- /SampleTests/Tests/TraitsTest.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/SampleTests/Tests/TraitsTest.h -------------------------------------------------------------------------------- /SampleTests/Tests/UmlautTests.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/SampleTests/Tests/UmlautTests.cpp -------------------------------------------------------------------------------- /SampleTests/Tests/gtest_wrapper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifdef GTEST_1_7_0 3 | #include "../../GoogleTestAdapter/Core/Resources/GTA_Traits_1.7.0.h" 4 | #else 5 | #include "../../GoogleTestAdapter/Core/Resources/GTA_Traits_1.8.0.h" 6 | #endif // GTEST_1_7_0 7 | -------------------------------------------------------------------------------- /TSAOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "tsaVersion": "TsaV2", 3 | "codebase": "NewOrUpdate", 4 | "codebaseName": "VCLS GoogleTest GitHub", 5 | "tsaStamp": "DevDiv", 6 | "tsaEnvironment": "PROD", 7 | "notificationAliases": [ 8 | "cppintellisense@microsoft.com", 9 | "bogdan.mihalcea@microsoft.com" 10 | ], 11 | "codebaseAdmins": [ 12 | "REDMOND\\bogdanm", 13 | "REDMOND\\cppintellisense" 14 | ], 15 | "instanceUrl": "https://devdiv.visualstudio.com", 16 | "projectName": "DevDiv", 17 | "areaPath": "DevDiv\\Cpp Developer Experience\\IntelliSense\\Google Test and Boost Test integration", 18 | "iterationPath": "DevDiv", 19 | "alltools": true, 20 | "repositoryName": "VCLS-Extensions" 21 | } -------------------------------------------------------------------------------- /TestAdapterFlavor.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | TAfGT 6 | 7 | 8 | -------------------------------------------------------------------------------- /ThirdPartyNotices.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/TestAdapterForGoogleTest/c8eb387a558cc5de2504afc166b92e98a2ef1cad/ThirdPartyNotices.txt -------------------------------------------------------------------------------- /Tools/Expand-Vsix.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .PARAMETER VsixPath 3 | Path to the VSIX file to be expanded. 4 | #> 5 | 6 | #requires -Version 3.0 7 | Param( 8 | [Parameter(Mandatory=$True)][String]$VsixPath 9 | ) 10 | Set-StrictMode -Version Latest 11 | $WarningPreference = "Stop" 12 | $ErrorActionPreference = "Stop" 13 | 14 | $VsixName = [IO.Path]::GetFileNameWithoutExtension($VsixPath) 15 | $OutPath = "out\vsix\$VsixName" 16 | $VsixZipPath = "out\vsix\$VsixName.zip" 17 | 18 | & "$PSScriptRoot\New-CleanDirectory" $OutPath | Out-Null 19 | Copy-Item $VsixPath $VsixZipPath 20 | Expand-Archive -Path $VsixZipPath -DestinationPath $OutPath 21 | -------------------------------------------------------------------------------- /Tools/Flatten-NuGetPackages.ps1: -------------------------------------------------------------------------------- 1 | #requires -Version 3.0 2 | Set-StrictMode -Version Latest 3 | $WarningPreference = "Stop" 4 | $ErrorActionPreference = "Stop" 5 | 6 | $OutDir = "NuGetPackagesFlattened" 7 | 8 | & "$PSScriptRoot\New-CleanDirectory" $OutDir | Out-Null 9 | Get-ChildItem -Path NuGetPackages -Include *.dll -Recurse | 10 | ForEach-Object { Copy-Item $_.FullName $OutDir -Verbose } 11 | -------------------------------------------------------------------------------- /Tools/New-CleanDirectory.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .PARAMETER Path 3 | Path to the directory to be created clean. All contents will be lost. 4 | #> 5 | 6 | #requires -Version 3.0 7 | Param( 8 | [Parameter(Mandatory=$True)][String]$Path 9 | ) 10 | Set-StrictMode -Version Latest 11 | $WarningPreference = "Stop" 12 | $ErrorActionPreference = "Stop" 13 | 14 | if (Test-Path $Path) { Remove-Item -Recurse -Path $Path } 15 | New-Item -ItemType Directory -Path $Path 16 | -------------------------------------------------------------------------------- /Tools/RemoveGtaProjects.ps1: -------------------------------------------------------------------------------- 1 | $gta_guids = @( 2 | "E6276CAD-E4C3-4B25-876A-65B265EBFF1A", 3 | "17F4B73F-E4D3-4E40-98FC-788B1D0F8225", 4 | "87F26371-0005-4301-9C49-A6DF4F06B81C", 5 | "4735D8CC-FA30-432D-854C-2984A7DA5DD2" 6 | ) 7 | 8 | $sln = Get-Content .\GoogleTestAdapter\GoogleTestAdapter.sln 9 | $is_gta_project = $false 10 | $gta_guids_regex = [string]::Join('|', $gta_guids) 11 | 12 | $sln | ForEach-Object { 13 | if ($is_gta_project) { 14 | if ($_ -like "EndProject") { 15 | $is_gta_project = $false 16 | } 17 | } elseif ($_ -match $gta_guids_regex) { 18 | if ($_ -like "Project*") { 19 | $is_gta_project = $true 20 | } 21 | } else { 22 | # Add the line to the new sln file if it isn't related to GTA projects 23 | $_ 24 | } 25 | } | Set-Content GoogleTestAdapter\GoogleTestAdapter.sln -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | precision: 2 3 | round: down 4 | range: "50...90" 5 | status: 6 | project: 7 | default: 8 | threshold: 2% 9 | patch: no 10 | 11 | comment: 12 | layout: "reach, diff, flags, files" -------------------------------------------------------------------------------- /swix/core/Microsoft.VisualStudio.VC.Ide.TestAdapterForGoogleTest.vsmanproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | v4.7.2 5 | true 6 | true 7 | 8 | 10 | false 11 | GoogleTestAdapter 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /swix/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | --------------------------------------------------------------------------------