Skip to content

Commit

Permalink
#127 TW-54720 Test results not being reported with .NET CLI 2.1 relea…
Browse files Browse the repository at this point in the history
…se - fix the vstest scenario
  • Loading branch information
NikolayPianikov authored and NikolayPianikov committed Jun 14, 2018
1 parent 185f1db commit 4032a0e
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@ import kotlin.coroutines.experimental.buildSequence
*/

class VSTestLoggerArgumentsProvider(
private val _loggerResolver: LoggerResolver)
private val _loggerResolver: LoggerResolver,
private val _loggerParameters: LoggerParameters)
: ArgumentsProvider {

override val arguments: Sequence<CommandLineArgument>
get() = buildSequence {
_loggerResolver.resolve(ToolType.VSTest).parentFile?.let {
yield(CommandLineArgument("/logger:logger://teamcity"))
yield(CommandLineArgument("/TestAdapterPath:${it.absolutePath}"))
yield(CommandLineArgument("/logger:console;verbosity=${_loggerParameters.VSTestVerbosity.id.toLowerCase()}"))
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package jetbrains.buildServer.dotnet.test.dotnet

import jetbrains.buildServer.agent.runner.PathsService
import jetbrains.buildServer.dotnet.LoggerParameters
import jetbrains.buildServer.dotnet.VSTestLoggerArgumentsProvider
import jetbrains.buildServer.dotnet.Verbosity
import org.jmock.Expectations
import org.jmock.Mockery
import org.testng.Assert
import org.testng.annotations.DataProvider
import org.testng.annotations.Test
Expand All @@ -13,20 +18,39 @@ class VSTestLoggerArgumentsProviderTest {
// Success scenario
arrayOf(
File("loggerPath", "vstestlogger.dll") as File?,
Verbosity.Normal,
listOf(
"/logger:logger://teamcity",
"/TestAdapterPath:${File("loggerPath").absolutePath}"))
"/TestAdapterPath:${File("loggerPath").absolutePath}",
"/logger:console;verbosity=normal")),

arrayOf(
File("loggerPath", "vstestlogger.dll") as File?,
Verbosity.Detailed,
listOf(
"/logger:logger://teamcity",
"/TestAdapterPath:${File("loggerPath").absolutePath}",
"/logger:console;verbosity=detailed"))
)
}

@Test(dataProvider = "testLoggerArgumentsData")
fun shouldGetArguments(
loggerFile: File,
verbosity: Verbosity,
expectedArguments: List<String>) {
// Given
val argumentsProvider = VSTestLoggerArgumentsProvider(LoggerResolverStub(File("msbuildlogger"), loggerFile))
val ctx = Mockery()
val loggerParameters = ctx.mock(LoggerParameters::class.java)
val argumentsProvider = VSTestLoggerArgumentsProvider(LoggerResolverStub(File("msbuildlogger"), loggerFile), loggerParameters)

// When
ctx.checking(object : Expectations() {
init {
oneOf<LoggerParameters>(loggerParameters).VSTestVerbosity
will(returnValue(verbosity))
}
})
val actualArguments = argumentsProvider.arguments.map { it.value }.toList()

// Then
Expand Down

0 comments on commit 4032a0e

Please sign in to comment.