Browse Source

Allow to skip unit tests from cake build

Nikita Tsukanov 9 years ago
parent
commit
07a8e2f987
3 changed files with 18 additions and 3 deletions
  1. 6 1
      build.cake
  2. 9 1
      build.ps1
  3. 3 1
      build.sh

+ 6 - 1
build.cake

@@ -29,7 +29,7 @@ using NuGet;
 var target = Argument("target", "Default");
 var platform = Argument("platform", "Any CPU");
 var configuration = Argument("configuration", "Release");
-
+var skipTests = HasArgument("skip-tests");
 ///////////////////////////////////////////////////////////////////////////////
 // CONFIGURATION
 ///////////////////////////////////////////////////////////////////////////////
@@ -623,6 +623,11 @@ Task("Run-Unit-Tests")
     .IsDependentOn("Build")
     .Does(() =>
 {
+	if(skipTests)
+	{
+		Information("Skipping unit tests because of -skip-tests");
+		return;
+	}
     var pattern = "./tests/Avalonia.*.UnitTests/bin/" + dirSuffix + "/Avalonia.*.UnitTests.dll";
 
     Func<IFileSystemInfo, bool> ExcludeWindowsTests = i => {

+ 9 - 1
build.ps1

@@ -32,6 +32,8 @@ No tasks will be executed.
 Tells Cake to use the Mono scripting engine.
 .PARAMETER SkipToolPackageRestore
 Skips restoring of packages.
+.PARAMETER SkipTests
+Skips unit tests
 .PARAMETER ScriptArgs
 Remaining arguments are added here.
 
@@ -117,6 +119,12 @@ if($WhatIf.IsPresent) {
     $UseDryRun = "-dryrun"
 }
 
+# Is this a dry run?
+$UseSkipTests = "";
+if($SkipTests.IsPresent) {
+    $UseSkipTests = "-skip-tests"
+}
+
 # Make sure tools folder exists
 if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) {
     Write-Verbose -Message "Creating tools directory..."
@@ -189,5 +197,5 @@ if (!(Test-Path $CAKE_EXE)) {
 
 # Start Cake
 Write-Host "Running build script..."
-Invoke-Expression "& `"$CAKE_EXE`" `"$Script`" -target=`"$Target`" -platform=`"$Platform`" -configuration=`"$Configuration`" -verbosity=`"$Verbosity`" $UseMono $UseDryRun $UseExperimental $ScriptArgs"
+Invoke-Expression "& `"$CAKE_EXE`" `"$Script`" -target=`"$Target`" -platform=`"$Platform`" -configuration=`"$Configuration`" -verbosity=`"$Verbosity`" $UseSkipTests $UseMono $UseDryRun $UseExperimental $ScriptArgs"
 exit $LASTEXITCODE

+ 3 - 1
build.sh

@@ -29,6 +29,7 @@ CONFIGURATION="Release"
 PLATFORM="Any CPU"
 VERBOSITY="verbose"
 DRYRUN=
+SKIP_TESTS=
 SHOW_VERSION=false
 SCRIPT_ARGUMENTS=()
 
@@ -39,6 +40,7 @@ for i in "$@"; do
         -t|--target) TARGET="$2"; shift ;;
         -p|--platform) PLATFORM="$2"; shift ;;
         -c|--configuration) CONFIGURATION="$2"; shift ;;
+        --skip-tests) SKIP_TESTS="-skip-tests"; shift ;;
         -v|--verbosity) VERBOSITY="$2"; shift ;;
         -d|--dryrun) DRYRUN="-dryrun" ;;
         --version) SHOW_VERSION=true ;;
@@ -99,5 +101,5 @@ fi
 if $SHOW_VERSION; then
     exec mono "$CAKE_EXE" -version
 else
-    exec mono "$CAKE_EXE" $SCRIPT -verbosity=$VERBOSITY -platform="$PLATFORM" -configuration="$CONFIGURATION" -target=$TARGET $DRYRUN "${SCRIPT_ARGUMENTS[@]}"
+    exec mono "$CAKE_EXE" $SCRIPT -verbosity=$VERBOSITY -platform="$PLATFORM" -configuration="$CONFIGURATION" -target=$TARGET $DRYRUN SKIP_TESTS "${SCRIPT_ARGUMENTS[@]}"
 fi