Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allowing finding of AbstractTestTask instead of only Test #260

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import org.gradle.api.logging.LogLevel
import org.gradle.api.provider.Property
import org.gradle.api.provider.ProviderFactory
import org.gradle.api.provider.SetProperty
import org.gradle.api.tasks.testing.Test
import org.gradle.api.tasks.testing.AbstractTestTask
import org.gradle.api.tasks.testing.logging.TestLogEvent

import static com.adarshr.gradle.testlogger.theme.ThemeType.STANDARD
Expand Down Expand Up @@ -42,9 +42,9 @@ class TestLoggerExtension extends TestLoggerExtensionProperties {
private final SetProperty<TestLogEvent> originalTestLoggingEvents
private final TestLoggerExtension projectExtension
private final ProviderFactory providers
private final Test test
private final AbstractTestTask test

TestLoggerExtension(Project project, Test test = null) {
TestLoggerExtension(Project project, AbstractTestTask test = null) {
this.theme = project.objects.property(ThemeType)
this.logLevel = project.objects.property(LogLevel)
this.showExceptions = project.objects.property(Boolean)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import com.adarshr.gradle.testlogger.logger.TestLoggerWrapper
import groovy.transform.CompileStatic
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.tasks.testing.Test
import org.gradle.api.tasks.testing.AbstractTestTask

@CompileStatic
class TestLoggerPlugin implements Plugin<Project> {
Expand All @@ -15,7 +15,7 @@ class TestLoggerPlugin implements Plugin<Project> {
void apply(Project project) {
project.extensions.create(EXTENSION_NAME, TestLoggerExtension, project)

project.tasks.withType(Test).configureEach { Test test ->
project.tasks.withType(AbstractTestTask).configureEach { AbstractTestTask test ->
def testExtension = test.extensions.create(EXTENSION_NAME, TestLoggerExtension, project, test)

testExtension.originalTestLoggingEvents = test.testLogging.events
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ import com.adarshr.gradle.testlogger.theme.Theme
import com.adarshr.gradle.testlogger.theme.ThemeFactory
import groovy.transform.CompileStatic
import org.gradle.StartParameter
import org.gradle.api.tasks.testing.Test
import org.gradle.api.tasks.testing.AbstractTestTask

@CompileStatic
class TestLoggerWrapper implements TestLogger {

private final StartParameter startParameter
private final Test test
private final AbstractTestTask test
private final TestLoggerExtension testLoggerExtension

private TestLogger testLoggerDelegate

TestLoggerWrapper(StartParameter startParameter, Test test, TestLoggerExtension testLoggerExtension) {
TestLoggerWrapper(StartParameter startParameter, AbstractTestTask test, TestLoggerExtension testLoggerExtension) {
this.startParameter = startParameter
this.test = test
this.testLoggerExtension = testLoggerExtension
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.adarshr.gradle.testlogger.theme
import com.adarshr.gradle.testlogger.TestLoggerExtension
import groovy.transform.CompileStatic
import org.gradle.StartParameter
import org.gradle.api.tasks.testing.AbstractTestTask
import org.gradle.api.tasks.testing.Test
import org.gradle.api.tasks.testing.testng.TestNGOptions

Expand All @@ -13,18 +14,18 @@ import static org.gradle.api.logging.configuration.ConsoleOutput.Plain
@CompileStatic
class ThemeFactory {

static Theme getTheme(StartParameter startParameter, Test test, TestLoggerExtension extension) {
static Theme getTheme(StartParameter startParameter, AbstractTestTask test, TestLoggerExtension extension) {
resolveThemeType(startParameter, test, extension).themeClass.newInstance(extension)
}

private static ThemeType resolveThemeType(StartParameter startParameter, Test test, TestLoggerExtension extension) {
private static ThemeType resolveThemeType(StartParameter startParameter, AbstractTestTask test, TestLoggerExtension extension) {
ThemeType themeType = extension.theme

if (startParameter.consoleOutput == Plain) {
themeType = PLAIN
}

if (isParallelMode(test) && !themeType.parallel) {
if (test instanceof Test && isParallelMode(test) && !themeType.parallel) {
themeType = fromName(themeType.parallelFallback)
}

Expand Down