Skip to content

Commit

Permalink
test: Add tests that verify the MdDocs NuGet packages contain the exp…
Browse files Browse the repository at this point in the history
…ected files

Pull-Request: #232
  • Loading branch information
ap0llo authored Dec 31, 2022
1 parent 090fdf8 commit 8eb6634
Show file tree
Hide file tree
Showing 8 changed files with 1,555 additions and 1 deletion.
7 changes: 7 additions & 0 deletions MdDocs.sln
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{DC2AECAE
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Build", "build\Build.csproj", "{2166FFBB-4986-44ED-9B15-26A4DF8D22BC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Grynwald.MdDocs.BuildVerification", "src\MdDocs.BuildVerification\Grynwald.MdDocs.BuildVerification.csproj", "{8192BF1D-F762-49FE-9838-7CF020C4F566}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -114,6 +116,10 @@ Global
{36DE9F53-7D40-4E72-846D-54F3422143E0}.Release|Any CPU.Build.0 = Release|Any CPU
{2166FFBB-4986-44ED-9B15-26A4DF8D22BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2166FFBB-4986-44ED-9B15-26A4DF8D22BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8192BF1D-F762-49FE-9838-7CF020C4F566}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8192BF1D-F762-49FE-9838-7CF020C4F566}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8192BF1D-F762-49FE-9838-7CF020C4F566}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8192BF1D-F762-49FE-9838-7CF020C4F566}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -137,6 +143,7 @@ Global
{15EDB45F-5F29-4DE0-BA1C-F05880219224} = {3560D538-F1D7-4AB1-9B82-D9A5D6B69D26}
{36DE9F53-7D40-4E72-846D-54F3422143E0} = {3560D538-F1D7-4AB1-9B82-D9A5D6B69D26}
{2166FFBB-4986-44ED-9B15-26A4DF8D22BC} = {DC2AECAE-7982-4845-830D-B340ADD7A220}
{8192BF1D-F762-49FE-9838-7CF020C4F566} = {3560D538-F1D7-4AB1-9B82-D9A5D6B69D26}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6774E9D8-488A-4F3B-9F91-41065B9DE8BE}
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ I'm also using issues as a backlog of things that come into my mind or things I
- [Newtonsoft.Json](https://www.newtonsoft.com/json)
- [Cake](https://cakebuild.net/)
- [Cake.BuildSystems.Module](https://github.com/cake-contrib/Cake.BuildSystems.Module)
- [Verify](https://github.com/VerifyTests/Verify)

## Versioning and Branching

Expand Down
25 changes: 24 additions & 1 deletion build/Program.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using Cake.AzurePipelines.Module;
using Cake.Common.Tools.DotNet.Test;
using Cake.Core;
using Cake.DotNetLocalTools.Module;
using Cake.Frosting;
Expand All @@ -10,7 +11,10 @@
//.UseModule<AzurePipelinesModule>()
.UseModule<LocalToolsModule>()
.InstallToolsFromManifest(".config/dotnet-tools.json")
.UseSharedBuild<BuildContext>()
.UseSharedBuild<BuildContext>(
// Load all tasks except the "Test" task (there is a customized version of the "Test" task defined below)
taskFilter: task => task != typeof(Grynwald.SharedBuild.Tasks.TestTask)
)
.Run(args);


Expand All @@ -29,3 +33,22 @@ public class BuildContext : DefaultBuildContext
public BuildContext(ICakeContext context) : base(context)
{ }
}

/// <summary>
/// Customized "Test" task
/// </summary>
[TaskName(TaskNames.Test)]
[IsDependentOn(typeof(Grynwald.SharedBuild.Tasks.PackTask))]
public class TestTask : Grynwald.SharedBuild.Tasks.TestTask
{
protected override DotNetTestSettings GetDotNetTestSettings(IBuildContext context)
{
var testSettings = base.GetDotNetTestSettings(context);

// The test project "Grynwald.MdDocs.BuildVerification" requires access to the NuGet package output directory
// which is passed in as environment variable
testSettings.EnvironmentVariables["MDDOCS_TEST_PACKAGEOUTPUTPATH"] = context.Output.PackagesDirectory.FullPath;

return testSettings;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" PrivateAssets="all" />
<PackageReference Include="coverlet.collector" Version="3.1.2" PrivateAssets="all" />
<PackageReference Include="Verify.Xunit" Version="19.5.0" />
<PackageReference Include="NuGet.Packaging" Version="6.4.0" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
Id: Grynwald.MdDocs.MSBuild,
IsDevelopmentDependency: true,
PackageTypes: [],
Dependencies: [],
FrameworkReferences: [
{
TargetFramework: .NETFramework,Version=v4.7.2,
Assemblies: [
System.IO,
System.Runtime,
System.Security.Cryptography.Algorithms,
System.Security.Cryptography.Encoding,
System.Security.Cryptography.Primitives
]
}
],
Files: [
build/net472/Grynwald.MdDocs.MSBuild.pdb,
build/netstandard2.0/Grynwald.MdDocs.MSBuild.pdb,
build/net472/Grynwald.MarkdownGenerator.dll,
build/net472/Grynwald.MdDocs.ApiReference.dll,
build/net472/Grynwald.MdDocs.CommandLineHelp.dll,
build/net472/Grynwald.MdDocs.Common.dll,
build/net472/Grynwald.Utilities.dll,
build/net472/Microsoft.Bcl.AsyncInterfaces.dll,
build/net472/Microsoft.Extensions.Configuration.Abstractions.dll,
build/net472/Microsoft.Extensions.Configuration.Binder.dll,
build/net472/Microsoft.Extensions.Configuration.dll,
build/net472/Microsoft.Extensions.Configuration.FileExtensions.dll,
build/net472/Microsoft.Extensions.Configuration.Json.dll,
build/net472/Microsoft.Extensions.FileProviders.Abstractions.dll,
build/net472/Microsoft.Extensions.FileProviders.Physical.dll,
build/net472/Microsoft.Extensions.FileSystemGlobbing.dll,
build/net472/Microsoft.Extensions.Logging.Abstractions.dll,
build/net472/Microsoft.Extensions.Primitives.dll,
build/net472/Mono.Cecil.dll,
build/net472/Mono.Cecil.Mdb.dll,
build/net472/Mono.Cecil.Pdb.dll,
build/net472/Mono.Cecil.Rocks.dll,
build/net472/System.Buffers.dll,
build/net472/System.Memory.dll,
build/net472/System.Numerics.Vectors.dll,
build/net472/System.Runtime.CompilerServices.Unsafe.dll,
build/net472/System.Text.Encodings.Web.dll,
build/net472/System.Text.Json.dll,
build/net472/System.Threading.Tasks.Extensions.dll,
build/net472/System.ValueTuple.dll,
build/net472/Grynwald.MdDocs.MSBuild.dll,
build/netstandard2.0/Grynwald.MarkdownGenerator.dll,
build/netstandard2.0/Grynwald.MdDocs.ApiReference.dll,
build/netstandard2.0/Grynwald.MdDocs.CommandLineHelp.dll,
build/netstandard2.0/Grynwald.MdDocs.Common.dll,
build/netstandard2.0/Grynwald.Utilities.dll,
build/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll,
build/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll,
build/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll,
build/netstandard2.0/Microsoft.Extensions.Configuration.dll,
build/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll,
build/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll,
build/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll,
build/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll,
build/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll,
build/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll,
build/netstandard2.0/Microsoft.Extensions.Primitives.dll,
build/netstandard2.0/Mono.Cecil.dll,
build/netstandard2.0/Mono.Cecil.Mdb.dll,
build/netstandard2.0/Mono.Cecil.Pdb.dll,
build/netstandard2.0/Mono.Cecil.Rocks.dll,
build/netstandard2.0/System.Buffers.dll,
build/netstandard2.0/System.Memory.dll,
build/netstandard2.0/System.Numerics.Vectors.dll,
build/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll,
build/netstandard2.0/System.Text.Encodings.Web.dll,
build/netstandard2.0/System.Text.Json.dll,
build/netstandard2.0/System.Threading.Tasks.Extensions.dll,
build/netstandard2.0/Grynwald.MdDocs.MSBuild.dll,
build/Grynwald.MdDocs.MSBuild.props,
build/Grynwald.MdDocs.MSBuild.targets
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
Id: Grynwald.MdDocs,
IsDevelopmentDependency: false,
PackageTypes: [
DotnetTool
],
Dependencies: [],
FrameworkReferences: [],
Files: [
tools/net6.0/any/DotnetToolSettings.xml,
tools/net7.0/any/DotnetToolSettings.xml,
tools/net6.0/any/mddocs.dll,
tools/net6.0/any/mddocs.runtimeconfig.json,
tools/net6.0/any/mddocs.pdb,
tools/net6.0/any/CommandLine.dll,
tools/net6.0/any/Grynwald.MarkdownGenerator.dll,
tools/net6.0/any/Grynwald.Utilities.dll,
tools/net6.0/any/Grynwald.Utilities.Logging.dll,
tools/net6.0/any/Microsoft.Extensions.Configuration.dll,
tools/net6.0/any/Microsoft.Extensions.Configuration.Abstractions.dll,
tools/net6.0/any/Microsoft.Extensions.Configuration.Binder.dll,
tools/net6.0/any/Microsoft.Extensions.Configuration.FileExtensions.dll,
tools/net6.0/any/Microsoft.Extensions.Configuration.Json.dll,
tools/net6.0/any/Microsoft.Extensions.FileProviders.Abstractions.dll,
tools/net6.0/any/Microsoft.Extensions.FileProviders.Physical.dll,
tools/net6.0/any/Microsoft.Extensions.FileSystemGlobbing.dll,
tools/net6.0/any/Microsoft.Extensions.Logging.Abstractions.dll,
tools/net6.0/any/Microsoft.Extensions.Primitives.dll,
tools/net6.0/any/Mono.Cecil.Mdb.dll,
tools/net6.0/any/Mono.Cecil.Pdb.dll,
tools/net6.0/any/Mono.Cecil.Rocks.dll,
tools/net6.0/any/Mono.Cecil.dll,
tools/net6.0/any/Grynwald.MdDocs.ApiReference.dll,
tools/net6.0/any/Grynwald.MdDocs.CommandLineHelp.dll,
tools/net6.0/any/Grynwald.MdDocs.Common.dll,
tools/net6.0/any/Grynwald.MdDocs.ApiReference.pdb,
tools/net6.0/any/Grynwald.MdDocs.CommandLineHelp.pdb,
tools/net6.0/any/Grynwald.MdDocs.Common.pdb,
tools/net6.0/any/mddocs.deps.json,
tools/net7.0/any/mddocs.dll,
tools/net7.0/any/mddocs.runtimeconfig.json,
tools/net7.0/any/mddocs.pdb,
tools/net7.0/any/CommandLine.dll,
tools/net7.0/any/Grynwald.MarkdownGenerator.dll,
tools/net7.0/any/Grynwald.Utilities.dll,
tools/net7.0/any/Grynwald.Utilities.Logging.dll,
tools/net7.0/any/Microsoft.Extensions.Configuration.dll,
tools/net7.0/any/Microsoft.Extensions.Configuration.Abstractions.dll,
tools/net7.0/any/Microsoft.Extensions.Configuration.Binder.dll,
tools/net7.0/any/Microsoft.Extensions.Configuration.FileExtensions.dll,
tools/net7.0/any/Microsoft.Extensions.Configuration.Json.dll,
tools/net7.0/any/Microsoft.Extensions.FileProviders.Abstractions.dll,
tools/net7.0/any/Microsoft.Extensions.FileProviders.Physical.dll,
tools/net7.0/any/Microsoft.Extensions.FileSystemGlobbing.dll,
tools/net7.0/any/Microsoft.Extensions.Logging.Abstractions.dll,
tools/net7.0/any/Microsoft.Extensions.Primitives.dll,
tools/net7.0/any/Mono.Cecil.Mdb.dll,
tools/net7.0/any/Mono.Cecil.Pdb.dll,
tools/net7.0/any/Mono.Cecil.Rocks.dll,
tools/net7.0/any/Mono.Cecil.dll,
tools/net7.0/any/Grynwald.MdDocs.ApiReference.dll,
tools/net7.0/any/Grynwald.MdDocs.CommandLineHelp.dll,
tools/net7.0/any/Grynwald.MdDocs.Common.dll,
tools/net7.0/any/Grynwald.MdDocs.ApiReference.pdb,
tools/net7.0/any/Grynwald.MdDocs.CommandLineHelp.pdb,
tools/net7.0/any/Grynwald.MdDocs.Common.pdb,
tools/net7.0/any/mddocs.deps.json
]
}
Loading

0 comments on commit 8eb6634

Please sign in to comment.