anchor.diff:                                         TestRunnerExePath = testRunnerExePath
                                          Output = testDir @@ "coverage.xml"
                                          Register = RegisterUser
  -                                       Filter = "+[*]* -[*.Tests]* -[xunit*]*" }) (dlls + " " + testArgs))
  +                                       Filter = "+[*]* -[*.Tests]* -[xunit*]* -[NUnit*]*" }) (dlls + " " + testArgs))
               if getBuildParam "coverallskey" <> "" then 
                   // disable printing args to keep coverallskey secret
                   ProcessHelper.enableProcessTracing <- false
  
positive.code:         |> Seq.map (fun i -> let _, p = i in p)
          |> Seq.where (fun p -> p.Contains ".Tests.")
          |> Seq.map (fun p -> Path.GetDirectoryName(p) @@ "bin" @@ solution.Configuration @@ Path.GetFileNameWithoutExtension(p) + ".dll")
          |> List.ofSeq 
  
      // test and publish result to appveyor
      let testSolution solution = 
  
negative.code: 
      // tools
      let xunitRunnerExe = lazy ((getNugetPackage "xunit.runner.console" "2.1.0") @@ "tools" @@ "xunit.console.exe")
      let nunitRunnerExe = lazy ((getNugetPackage "NUnit.ConsoleRunner" "3.2.0") @@ "tools" @@ "nunit3-console.exe")
      let openCoverExe = lazy ((getNugetPackage "OpenCover" "4.6.519") @@ "tools" @@ "OpenCover.Console.exe")
      let coverallsExe = lazy ((getNugetPackage "coveralls.io" "1.3.4") @@ "tools" @@ "coveralls.net.exe")
      let coverityExe = lazy ("C:/CoverityScan/win64/bin/cov-build.exe") // TODO: install coverity scan if absent
  