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

Fixed smoke tests #1769

Merged
merged 27 commits into from
Nov 7, 2023
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f533039
Fixed smoke tests
nulls Oct 26, 2023
571d241
Merge remote-tracking branch 'origin/master' into feature/fix-smoke-t…
nulls Oct 27, 2023
afe36a6
fixed after merging
nulls Oct 27, 2023
663a51a
rollback changes
nulls Oct 27, 2023
bb829a5
rollback duplicate test
nulls Oct 27, 2023
3081402
added comparing by test path
nulls Oct 27, 2023
39966bf
fixed new test
nulls Oct 27, 2023
6448744
reverted unused change in test
nulls Oct 27, 2023
0642016
WIP
nulls Oct 27, 2023
05c34b0
no need to clean up the temp directory: junit does it
nulls Oct 30, 2023
39de04c
WIP
nulls Nov 1, 2023
5b5df37
removed unused imports + removed deleting temp files (deleted by junit)
nulls Nov 2, 2023
7d4ad1f
removed debug prints
nulls Nov 2, 2023
5c805a5
removed duplicate tests
nulls Nov 2, 2023
24bfd44
refactored assert + reverted changes in test
nulls Nov 2, 2023
760b925
fixed location of white_space for case when import_list is presented
nulls Nov 2, 2023
a666437
reverted changes for DiktatSmokeTest
nulls Nov 2, 2023
4a4b50c
another try to fix PackageNaming
nulls Nov 2, 2023
8fd4644
fixed kdoc @param
nulls Nov 2, 2023
75a2602
added new errors to smoke test
nulls Nov 3, 2023
ef6e9ba
Merge branch 'master' into feature/fix-smoke-test#1737
nulls Nov 3, 2023
cd9adbe
Merge remote-tracking branch 'origin/master' into feature/fix-smoke-t…
nulls Nov 7, 2023
04215de
reverted unused changes
nulls Nov 7, 2023
3e1b54f
Run fix before detecting warnings
nulls Nov 7, 2023
12e4d5c
fixed warnings
nulls Nov 7, 2023
6ac8eeb
suppressed warnings in copied class
nulls Nov 7, 2023
a1a32ce
fixed diktat issues
nulls Nov 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@
configuration.domainName?.let {
domainName = it
if (node.elementType == PACKAGE_DIRECTIVE) {
println("Before")
Fixed Show fixed Hide fixed
println(
node.treeParent.prettyPrint()
)
Fixed Show fixed Hide fixed
println("Before--END")
Fixed Show fixed Hide fixed
val filePath = node.getFilePath()

// getting all identifiers from existing package name into the list like [org, diktat, project]
Expand All @@ -77,6 +82,11 @@
checkPackageName(wordsInPackageName, node)
// fix in checkFilePathMatchesWithPackageName is much more aggressive than fixes in checkPackageName, they can conflict
checkFilePathMatchesWithPackageName(wordsInPackageName, realPackageName, node)
println("After")
Fixed Show fixed Hide fixed
println(
node.treeParent.prettyPrint()
)
Fixed Show fixed Hide fixed
println("After--END")
Fixed Show fixed Hide fixed
}
} ?: if (visitorCounter.incrementAndGet() == 1) {
log.error {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
package com.saveourtool.diktat.ruleset.chapter1

import com.saveourtool.diktat.common.config.rules.RulesConfig
import com.saveourtool.diktat.ruleset.constants.Warnings
import com.saveourtool.diktat.ruleset.rules.chapter1.PackageNaming
import com.saveourtool.diktat.util.FixTestBase

import generated.WarningNames
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.io.TempDir
import java.nio.file.Path
import kotlin.io.path.createDirectories
import kotlin.io.path.writeText

class PackagePathFixTest : FixTestBase(
"test/paragraph1/naming/package/src/main/kotlin",
Expand Down Expand Up @@ -68,4 +74,37 @@ class PackagePathFixTest : FixTestBase(
fun `fix missing package name with a proper location`() {
fixAndCompare("com/saveourtool/diktat/some/name/FixMissingExpected.kt", "com/saveourtool/diktat/some/name/FixMissingTest.kt")
}

@Test
@Tag(WarningNames.PACKAGE_NAME_MISSING)
fun `several empty lines after package`(@TempDir tempDir: Path) {
fixAndCompareContent(
expectedContent = """
package com.saveourtool.diktat
/**
* @param bar
* @return something
*/
fun foo1(bar: Bar): Baz {
// placeholder
}
""".trimIndent(),
actualContent = """
/**
* @param bar
* @return something
*/
fun foo1(bar: Bar): Baz {
// placeholder
}
""".trimIndent(),
subFolder = "src/main/kotlin/com/saveourtool/diktat",
tempDir = tempDir,
).also { result ->
Assertions.assertAll(
{ Assertions.assertTrue(result.isSuccessful) },
{ Assertions.assertEquals(result.expectedContentWithoutWarns, result.actualContent) }
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ import com.saveourtool.diktat.util.FixTestBase
import generated.WarningNames
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.io.TempDir
import java.nio.file.Path
import kotlin.io.path.createDirectories
import kotlin.io.path.writeText

class FileStructureRuleFixTest : FixTestBase("test/paragraph3/file_structure", ::FileStructureRule) {
@Test
Expand Down Expand Up @@ -96,4 +100,50 @@ class FileStructureRuleFixTest : FixTestBase("test/paragraph3/file_structure", :
fun `invalid move in kts files`() {
fixAndCompare("ScriptPackageDirectiveExpected.kts", "ScriptPackageDirectiveTest.kts")
}

@Test
@Tag(WarningNames.FILE_NO_BLANK_LINE_BETWEEN_BLOCKS)
fun `several empty lines after package`(@TempDir tempDir: Path) {
val folder = tempDir.resolve("src/main/kotlin/com/saveourtool/diktat").also {
it.createDirectories()
}
val testFile = folder.resolve("test.kt").also {
it.writeText("""
package com.saveourtool.diktat
/**
* @param bar
* @return something
*/
fun foo1(bar: Bar): Baz {
// placeholder
}
""".trimIndent())
}
val expectedFile = folder.resolve("expected.kt").also {
it.writeText("""
package com.saveourtool.diktat
/**
* @param bar
* @return something
*/
fun foo1(bar: Bar): Baz {
// placeholder
}
""".trimIndent())
}
fixAndCompare(
expectedFile,
testFile,
overrideRulesConfigList = listOf(
RulesConfig(
name = WarningNames.FILE_NO_BLANK_LINE_BETWEEN_BLOCKS,
nulls marked this conversation as resolved.
Show resolved Hide resolved
enabled = true,
),
RulesConfig(
name = WarningNames.WRONG_NEWLINES_AROUND_KDOC,
enabled = true,
)
),
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ class IndentationRuleFixTest : FixTestBase("test/paragraph3/indentation",
tempDir: Path
): FileComparisonResult {
val config = IndentationConfig(NEWLINE_AT_END to false).withCustomParameters().asRulesConfigList()
return fixAndCompareContent(actualCode, expectedCode, tempDir, config)
return fixAndCompareContent(actualCode, expectedCode, tempDir, overrideRulesConfigList = config)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ class IndentationTestFixExtension(
actualCode,
expectedCode,
tempDir,
defaultConfig.withCustomParameters(customConfig).asRulesConfigList())
overrideRulesConfigList = defaultConfig.withCustomParameters(customConfig).asRulesConfigList(),
)

if (!lintResult.isSuccessful) {
assertThat(lintResult.actualContent)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.junit.jupiter.api.Assertions
import java.nio.file.Path
import kotlin.io.path.bufferedWriter
import kotlin.io.path.createDirectories
import kotlin.io.path.div

/**
Expand Down Expand Up @@ -56,19 +57,56 @@
val testComparatorUnit = testComparatorUnitSupplier(overrideRulesConfigList)
val result = testComparatorUnit
.compareFilesFromResources(expectedPath, testPath, overrideResourceReader)
if (!result.isSuccessful) {
Assertions.assertEquals(
result.expectedContentWithoutWarns,
result.actualContent,
) {
"Content are different"
Assertions.assertAll(
{
Assertions.assertTrue(
result.isSuccessful
) {
"Detected delta: ${result.delta}"
}
},
{
Assertions.assertEquals(
result.expectedContentWithoutWarns,
result.actualContent,
) {
"Content are different"
}
}
}
Assertions.assertTrue(
result.isSuccessful
) {
"Detected delta: ${result.delta}"
}
)
}

/**
* @param expectedPath path to file with expected result
* @param testPath path to file with code that will be transformed by formatter
* @param overrideRulesConfigList optional override to [defaultRulesConfigList]
* @see fixAndCompareContent
*/
protected fun fixAndCompare(
expectedPath: Path,
testPath: Path,
overrideRulesConfigList: List<RulesConfig>? = null,
) {
val testComparatorUnit = testComparatorUnitSupplier(overrideRulesConfigList)
val result = testComparatorUnit
.compareFilesFromFileSystem(expectedPath, testPath)
Assertions.assertAll(

Check failure on line 93 in diktat-rules/src/test/kotlin/com/saveourtool/diktat/util/FixTestBase.kt

View workflow job for this annotation

GitHub Actions / JUnit Tests (macOS, dorny/test-reporter@v1)

com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest ► several empty lines after package(Path)

Failed test found in: diktat-rules/build/test-results/test/TEST-com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.xml Error: org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (2 failures)
Raw output
org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (2 failures)
	org.opentest4j.AssertionFailedError: Detected delta: InsertDelta(source=[position: 1, size: 0, lines: []], target=[position: 1, size: 1, lines: []]) ==> expected: <true> but was: <false>
	org.opentest4j.AssertionFailedError: Content are different ==> expected: <package com.saveourtool.diktat
/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}> but was: <package com.saveourtool.diktat

/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}>
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:80)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:44)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:38)
	at org.junit.jupiter.api.Assertions.assertAll(Assertions.java:2940)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare(FixTestBase.kt:93)
	at com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.several empty lines after package(FileStructureRuleFixTest.kt:134)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	Suppressed: org.opentest4j.AssertionFailedError: Detected delta: InsertDelta(source=[position: 1, size: 0, lines: []], target=[position: 1, size: 1, lines: []]) ==> expected: <true> but was: <false>
		at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
		at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
		at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
		at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:42)
		at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:187)
		at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$5(FixTestBase.kt:95)
		at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
		at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
		at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
		at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
		at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
		at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
		at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
		at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
		at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
		... 8 more
	Suppressed: org.opentest4j.AssertionFailedError: Content are different ==> expected: <package com.saveourtool.diktat
/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}> but was: <package com.saveourtool.diktat

/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}>
		at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
		at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
		at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
		at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:188)
		at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1163)
		at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$7(FixTestBase.kt:102)
		at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
		at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
		at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
		at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
		at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
		at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
		at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
		at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
		at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
		... 8 more
Cause 1: org.opentest4j.AssertionFailedError: Detected delta: InsertDelta(source=[position: 1, size: 0, lines: []], target=[position: 1, size: 1, lines: []]) ==> expected: <true> but was: <false>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
	at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:42)
	at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:187)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$5(FixTestBase.kt:95)
	at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:44)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:38)
	at org.junit.jupiter.api.Assertions.assertAll(Assertions.java:2940)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare(FixTestBase.kt:93)
	at com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.several empty lines after package(FileStructureRuleFixTest.kt:134)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
Cause 2: org.opentest4j.AssertionFailedError: Content are different ==> expected: <package com.saveourtool.diktat
/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}> but was: <package com.saveourtool.diktat

/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
	at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
	at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:188)
	at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1163)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$7(FixTestBase.kt:102)
	at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:44)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:38)
	at org.junit.jupiter.api.Assertions.assertAll(Assertions.java:2940)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare(FixTestBase.kt:93)
	at com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.several empty lines after package(FileStructureRuleFixTest.kt:134)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)

Check failure on line 93 in diktat-rules/src/test/kotlin/com/saveourtool/diktat/util/FixTestBase.kt

View workflow job for this annotation

GitHub Actions / JUnit Tests (Linux, dorny/test-reporter@v1)

com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest ► several empty lines after package(Path)

Failed test found in: diktat-rules/build/test-results/test/TEST-com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.xml Error: org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (2 failures)
Raw output
org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (2 failures)
	org.opentest4j.AssertionFailedError: Detected delta: InsertDelta(source=[position: 1, size: 0, lines: []], target=[position: 1, size: 1, lines: []]) ==> expected: <true> but was: <false>
	org.opentest4j.AssertionFailedError: Content are different ==> expected: <package com.saveourtool.diktat
/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}> but was: <package com.saveourtool.diktat

/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}>
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:80)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:44)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:38)
	at org.junit.jupiter.api.Assertions.assertAll(Assertions.java:2940)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare(FixTestBase.kt:93)
	at com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.several empty lines after package(FileStructureRuleFixTest.kt:134)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	Suppressed: org.opentest4j.AssertionFailedError: Detected delta: InsertDelta(source=[position: 1, size: 0, lines: []], target=[position: 1, size: 1, lines: []]) ==> expected: <true> but was: <false>
		at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
		at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
		at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
		at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:42)
		at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:187)
		at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$5(FixTestBase.kt:95)
		at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
		at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
		at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
		at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
		at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
		at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
		at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
		at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
		at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
		... 8 more
	Suppressed: org.opentest4j.AssertionFailedError: Content are different ==> expected: <package com.saveourtool.diktat
/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}> but was: <package com.saveourtool.diktat

/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}>
		at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
		at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
		at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
		at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:188)
		at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1163)
		at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$7(FixTestBase.kt:102)
		at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
		at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
		at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
		at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
		at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
		at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
		at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
		at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
		at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
		... 8 more
Cause 1: org.opentest4j.AssertionFailedError: Detected delta: InsertDelta(source=[position: 1, size: 0, lines: []], target=[position: 1, size: 1, lines: []]) ==> expected: <true> but was: <false>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
	at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:42)
	at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:187)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$5(FixTestBase.kt:95)
	at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:44)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:38)
	at org.junit.jupiter.api.Assertions.assertAll(Assertions.java:2940)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare(FixTestBase.kt:93)
	at com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.several empty lines after package(FileStructureRuleFixTest.kt:134)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
Cause 2: org.opentest4j.AssertionFailedError: Content are different ==> expected: <package com.saveourtool.diktat
/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}> but was: <package com.saveourtool.diktat

/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
	at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
	at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:188)
	at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1163)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$7(FixTestBase.kt:102)
	at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:44)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:38)
	at org.junit.jupiter.api.Assertions.assertAll(Assertions.java:2940)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare(FixTestBase.kt:93)
	at com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.several empty lines after package(FileStructureRuleFixTest.kt:134)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)

Check failure on line 93 in diktat-rules/src/test/kotlin/com/saveourtool/diktat/util/FixTestBase.kt

View workflow job for this annotation

GitHub Actions / JUnit Tests (Windows, dorny/test-reporter@v1)

com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest ► several empty lines after package(Path)

Failed test found in: diktat-rules/build/test-results/test/TEST-com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.xml Error: org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (2 failures)
Raw output
org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (2 failures)
	org.opentest4j.AssertionFailedError: Detected delta: InsertDelta(source=[position: 1, size: 0, lines: []], target=[position: 1, size: 1, lines: []]) ==> expected: <true> but was: <false>
	org.opentest4j.AssertionFailedError: Content are different ==> expected: <package com.saveourtool.diktat
/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}> but was: <package com.saveourtool.diktat

/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}>
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:80)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:44)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:38)
	at org.junit.jupiter.api.Assertions.assertAll(Assertions.java:2940)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare(FixTestBase.kt:93)
	at com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.several empty lines after package(FileStructureRuleFixTest.kt:134)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	Suppressed: org.opentest4j.AssertionFailedError: Detected delta: InsertDelta(source=[position: 1, size: 0, lines: []], target=[position: 1, size: 1, lines: []]) ==> expected: <true> but was: <false>
		at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
		at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
		at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
		at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:42)
		at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:187)
		at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$5(FixTestBase.kt:95)
		at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
		at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
		at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
		at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
		at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
		at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
		at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
		at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
		at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
		... 8 more
	Suppressed: org.opentest4j.AssertionFailedError: Content are different ==> expected: <package com.saveourtool.diktat
/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}> but was: <package com.saveourtool.diktat

/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}>
		at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
		at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
		at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
		at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:188)
		at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1163)
		at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$7(FixTestBase.kt:102)
		at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
		at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
		at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
		at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
		at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
		at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
		at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
		at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
		at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
		... 8 more
Cause 1: org.opentest4j.AssertionFailedError: Detected delta: InsertDelta(source=[position: 1, size: 0, lines: []], target=[position: 1, size: 1, lines: []]) ==> expected: <true> but was: <false>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
	at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:42)
	at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:187)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$5(FixTestBase.kt:95)
	at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:44)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:38)
	at org.junit.jupiter.api.Assertions.assertAll(Assertions.java:2940)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare(FixTestBase.kt:93)
	at com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.several empty lines after package(FileStructureRuleFixTest.kt:134)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
Cause 2: org.opentest4j.AssertionFailedError: Content are different ==> expected: <package com.saveourtool.diktat
/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}> but was: <package com.saveourtool.diktat

/**
 * @param bar
 * @return something
 */
fun foo1(bar: Bar): Baz {
    // placeholder
}>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
	at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
	at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:188)
	at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1163)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare$lambda$7(FixTestBase.kt:102)
	at org.junit.jupiter.api.AssertAll.lambda$assertAll$0(AssertAll.java:68)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:77)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:44)
	at org.junit.jupiter.api.AssertAll.assertAll(AssertAll.java:38)
	at org.junit.jupiter.api.Assertions.assertAll(Assertions.java:2940)
	at com.saveourtool.diktat.util.FixTestBase.fixAndCompare(FixTestBase.kt:93)
	at com.saveourtool.diktat.ruleset.chapter3.FileStructureRuleFixTest.several empty lines after package(FileStructureRuleFixTest.kt:134)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
{
Assertions.assertTrue(
result.isSuccessful
) {
"Detected delta: ${result.delta}"
}
},
{
Assertions.assertEquals(
result.expectedContentWithoutWarns,
result.actualContent,
) {
"Content are different"
}
}
)
}

/**
Expand All @@ -89,14 +127,16 @@
@Language("kotlin") actualContent: String,
@Language("kotlin") expectedContent: String = actualContent,
tempDir: Path,
subFolder: String? = null,
overrideRulesConfigList: List<RulesConfig>? = null
): FileComparisonResult {
val actual = tempDir / "actual.kt"
val folder = subFolder?.let { tempDir / it }?.also { it.createDirectories() } ?: tempDir
val actual = folder / "actual.kt"
actual.bufferedWriter().use { out ->
out.write(actualContent)
}

val expected = tempDir / "expected.kt"
val expected = folder / "expected.kt"
expected.bufferedWriter().use { out ->
out.write(expectedContent)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ class DiktatSaveSmokeTest : DiktatSmokeTestBase() {
private val logger = KotlinLogging.logger {}
private const val SAVE_VERSION: String = "0.3.4"
private const val TEMP_DIRECTORY = ".save-cli"
private val baseDirectoryPath = tempDir.absolute()
private val baseDirectoryPath by lazy { tempDir.absolute() }

private fun getSaveForCurrentOs(): String {
val osName = System.getProperty("os.name")
Expand Down Expand Up @@ -183,20 +183,5 @@ class DiktatSaveSmokeTest : DiktatSmokeTestBase() {
diktatFrom?.copyTo(diktat, overwrite = true)
}
}

@AfterAll
@JvmStatic
internal fun afterAll() {
val diktat = baseDirectoryPath / DIKTAT_FAT_JAR
val save = baseDirectoryPath / getSaveForCurrentOs()
val ktlint = baseDirectoryPath / KTLINT_FAT_JAR
val tempDirectory = baseDirectoryPath / TEMP_DIRECTORY

diktat.deleteIfExistsSilently()
ktlint.deleteIfExistsSilently()
save.deleteIfExistsSilently()

tempDirectory.deleteIfExistsRecursively()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.saveourtool.diktat.ruleset.smoke

import com.saveourtool.diktat.api.DiktatError
import com.saveourtool.diktat.ktlint.format
import com.saveourtool.diktat.ktlint.lint
import com.saveourtool.diktat.ruleset.rules.DiktatRuleConfigReaderImpl
import com.saveourtool.diktat.ruleset.rules.DiktatRuleSetFactoryImpl
import com.saveourtool.diktat.test.framework.processing.TestComparatorUnit
Expand Down Expand Up @@ -31,7 +32,12 @@ class DiktatSmokeTest : DiktatSmokeTestBase() {
},
{
Assertions.assertEquals(result.expectedContentWithoutWarns, result.actualContent)
}
},
// {
// assertUnfixedLintErrors {
// org.assertj.core.api.Assertions.assertThat(unfixedLintErrors).isEmpty()
// }
// },
)

}
Expand All @@ -48,7 +54,7 @@ class DiktatSmokeTest : DiktatSmokeTestBase() {
private fun getTestComparatorUnit(config: Path) = TestComparatorUnit(
resourceReader = { tempDir.resolve("src/main/kotlin").resolve(it).normalize() },
function = { testFile ->
format(
lint(
ruleSetSupplier = {
val diktatRuleConfigReader = DiktatRuleConfigReaderImpl()
val diktatRuleSetFactory = DiktatRuleSetFactoryImpl()
Expand All @@ -57,6 +63,15 @@ class DiktatSmokeTest : DiktatSmokeTestBase() {
file = testFile,
cb = { lintError, _ -> unfixedLintErrors.add(lintError) },
)
format(
ruleSetSupplier = {
val diktatRuleConfigReader = DiktatRuleConfigReaderImpl()
val diktatRuleSetFactory = DiktatRuleSetFactoryImpl()
diktatRuleSetFactory(diktatRuleConfigReader(config.inputStream()))
},
file = testFile,
cb = { _, _ -> },
)
},
)
}
Loading
Loading