Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
1d21ba3
Bump `byte-buddy.version` to 1.18.2 and `guava.version` to 33.5.0-jre…
scordio Dec 14, 2025
f8ae4e6
chore(deps): bump the github-actions group with 2 updates (#4069)
dependabot[bot] Dec 15, 2025
03c2310
chore(deps): bump byte-buddy.version from 1.18.2 to 1.18.3 (#4072)
dependabot[bot] Dec 20, 2025
f28ade6
chore(deps): bump org.springframework.boot:spring-boot-dependencies f…
dependabot[bot] Dec 20, 2025
f8dc53e
chore(deps): bump the github-actions group with 2 updates (#4073)
dependabot[bot] Dec 20, 2025
1797c0b
chore(deps): bump the github-actions group with 2 updates (#4074)
dependabot[bot] Dec 20, 2025
7488cf0
Bump Maven from 3.9.11 to 3.9.12
scordio Dec 20, 2025
c6a2ea9
Replace deprecated `@CheckReturnValue` usage with its alternative
scordio Dec 20, 2025
20c213d
Change `assertj-core` Javadoc link to offline link (#4075)
scordio Dec 20, 2025
549f6b6
Merge branch '3.x'
scordio Dec 20, 2025
856679f
chore(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from …
dependabot[bot] Dec 20, 2025
44acd37
Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.12.0
scordio Dec 21, 2025
2e53a5d
Bump `byte-buddy.version` from 1.18.2 to 1.18.3
dependabot[bot] Dec 20, 2025
e5ee9af
Merge branch '3.x'
scordio Dec 21, 2025
7013542
feat: honor maxStackTraceElementsDisplayed in soft assertions (fix #4…
chanwonlee Dec 3, 2025
452cee7
BREAKING CHANGE: Remove AssertJMultipleFailuresError in favor of Mult…
joel-costigliola Dec 13, 2025
aeb5d33
chore: try fixing failing test due to windows line endings
joel-costigliola Dec 21, 2025
20438ec
chore: try fixing failing test due to windows line endings
joel-costigliola Dec 22, 2025
3fad23d
Try having a github action test report
joel-costigliola Dec 22, 2025
7c88197
add permission to write test reports
joel-costigliola Dec 22, 2025
ce33872
Bump com.github.siom79.japicmp:japicmp-maven-plugin from 0.25.0 to 0.…
dependabot[bot] Dec 22, 2025
f544478
Clean up JUnit `ReflectionSupport` deprecations
scordio Dec 27, 2025
18ff787
Bump nl.jqno.equalsverifier:equalsverifier from 4.2.5 to 4.2.6 (#4083)
dependabot[bot] Dec 31, 2025
ee411af
Fix punctuation typo (#4084)
ngocnhan-tran1996 Jan 1, 2026
f48baed
Bump nl.jqno.equalsverifier:equalsverifier from 4.2.6 to 4.3 (#4085)
dependabot[bot] Jan 1, 2026
d7d5f5c
Add IntelliJ custom inspection for test class names
scordio Jan 2, 2026
e751623
Bump `bnd.version` from 7.1.0 to 7.2.0 (#4041)
scordio Jan 3, 2026
d590a7f
Bump mikepenz/action-junit-report from 6.0.1 to 6.1.0 in the github-a…
dependabot[bot] Jan 4, 2026
51ed96d
Set up TestLens
marcphilipp Dec 17, 2025
863e6d3
Enable debug output
marcphilipp Dec 17, 2025
bc036d0
Use 1.5.1-SNAPSHOT
marcphilipp Dec 17, 2025
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
6 changes: 6 additions & 0 deletions .github/workflows/binary-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ jobs:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- uses: testlens-app/setup-testlens@maven-support
with:
instrumentation-version: '1.5.1-SNAPSHOT'

- name: Checkout `${{ github.base_ref }}` into subfolder
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
Expand Down Expand Up @@ -56,6 +59,9 @@ jobs:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- uses: testlens-app/setup-testlens@maven-support
with:
instrumentation-version: '1.5.1-SNAPSHOT'

- name: Compare with the latest release
run: >
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Initialize CodeQL
uses: github/codeql-action/init@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand All @@ -44,6 +44,6 @@ jobs:
java-version: '25'
cache: 'maven'
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
with:
category: "/language:${{matrix.language}}"
24 changes: 23 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [push, pull_request]
permissions: {}

env:
MAVEN_ARGS: -B -V -ntp -e -Djansi.passthrough=true -Dstyle.color=always
MAVEN_ARGS: -B -V -ntp -e -Djansi.passthrough=true -Dstyle.color=always --debug

jobs:

Expand All @@ -17,6 +17,8 @@ jobs:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
runs-on: ${{ matrix.os }}
permissions:
checks: write

steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
Expand All @@ -26,8 +28,16 @@ jobs:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- uses: testlens-app/setup-testlens@maven-support
with:
instrumentation-version: '1.5.1-SNAPSHOT'
- name: Test
run: ./mvnw $MAVEN_ARGS verify
- name: Publish Test Report
uses: mikepenz/action-junit-report@a294a61c909bd8a4b563024a2faa28897fd53ebc
if: success() || failure() # always run even if the previous step fails
with:
report_paths: '**/target/surefire-reports/TEST-*.xml'

java-oracle:

Expand All @@ -47,6 +57,9 @@ jobs:
website: jdk.java.net
release: ${{ matrix.java }}
version: latest
- uses: testlens-app/setup-testlens@maven-support
with:
instrumentation-version: '1.5.1-SNAPSHOT'
- name: Test
run: ./mvnw $MAVEN_ARGS verify

Expand All @@ -68,6 +81,9 @@ jobs:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- uses: testlens-app/setup-testlens@maven-support
with:
instrumentation-version: '1.5.1-SNAPSHOT'
- name: Test
run: ./mvnw $MAVEN_ARGS -Dgroovy.version=${{ matrix.groovy }} verify

Expand All @@ -89,6 +105,9 @@ jobs:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- uses: testlens-app/setup-testlens@maven-support
with:
instrumentation-version: '1.5.1-SNAPSHOT'
- name: Test
run: ./mvnw $MAVEN_ARGS -Dkotlin.version=${{ matrix.kotlin }} verify

Expand Down Expand Up @@ -124,6 +143,9 @@ jobs:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- uses: testlens-app/setup-testlens@maven-support
with:
instrumentation-version: '1.5.1-SNAPSHOT'
- name: Test with Sonar
run: >
./mvnw $MAVEN_ARGS verify sonar:sonar
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/qodana.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit
fetch-depth: 0 # a full history is required for pull request analysis
- name: 'Qodana Scan'
uses: JetBrains/qodana-action@99ec27a55aaaf5ba2fd7e5816e66231caed7a72a #v2025.2.4
uses: JetBrains/qodana-action@42dad391966aca8ca344ca2340a7f43a5507e9b2 #v2025.3.1
with:
# https://youtrack.jetbrains.com/issue/QD-6342 – no option to disable emojis
post-pr-comment: false
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
target
#IntelliJ project files
.idea/*
!/.idea/inspectionProfiles
!/.idea/inspectionProfiles/Project_Default.xml
!/.idea/icon.svg
*.iml
out
Expand Down
12 changes: 12 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
wrapperVersion=3.3.4
distributionType=only-script
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip
5 changes: 2 additions & 3 deletions assertj-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<rootDirectory>${project.basedir}/../</rootDirectory>
<spotless.skip>false</spotless.skip>
<!-- Dependency versions -->
<byte-buddy.version>1.18.2</byte-buddy.version>
<byte-buddy.version>1.18.3</byte-buddy.version>
</properties>

<dependencyManagement>
Expand Down Expand Up @@ -107,7 +107,7 @@
<dependency>
<groupId>nl.jqno.equalsverifier</groupId>
<artifactId>equalsverifier</artifactId>
<version>4.2.5</version>
<version>4.3</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -251,7 +251,6 @@
-exportcontents: \
!org.assertj.core.internal.*,\
org.assertj.core.*
-noclassforname: true
-noextraheaders: true
-snapshot: SNAPSHOT
-removeheaders: Private-Package
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,17 @@
public abstract class AbstractSoftAssertions extends DefaultAssertionErrorCollector
implements SoftAssertionsProvider, InstanceOfAssertFactories {

private static final AssertionErrorCreator ASSERTION_ERROR_CREATOR = new AssertionErrorCreator();
final SoftProxies proxies;

protected AbstractSoftAssertions() {
// pass itself as an AssertionErrorCollector instance
proxies = new SoftProxies(this);
}

private static final AssertionErrorCreator ASSERTION_ERROR_CREATOR = new AssertionErrorCreator();

public static void assertAll(AssertionErrorCollector collector) {
List<AssertionError> errors = collector.assertionErrorsCollected();
if (!errors.isEmpty()) throw ASSERTION_ERROR_CREATOR.multipleSoftAssertionsError(errors);
if (!errors.isEmpty()) throw ASSERTION_ERROR_CREATOR.multipleAssertionsError(errors);
}

@Override
Expand All @@ -53,7 +52,7 @@ public void assertAll() {
/**
* Fails with the given message.
*
* @param <T> dummy return value type
* @param <T> dummy return value type
* @param failureMessage error message.
* @return nothing, it's just to be used in {@code doSomething(optional.orElseGet(() -> softly.fail("boom")));}.
* @since 2.6.0 / 3.6.0
Expand Down Expand Up @@ -84,9 +83,9 @@ public <T> T fail() {
/**
* Fails with the given message built like {@link String#format(String, Object...)}.
*
* @param <T> dummy return value type
* @param <T> dummy return value type
* @param failureMessage error message.
* @param args Arguments referenced by the format specifiers in the format string.
* @param args Arguments referenced by the format specifiers in the format string.
* @return nothing, it's just to be used in {@code doSomething(optional.orElseGet(() -> softly.fail("boom")));}.
* @since 2.6.0 / 3.6.0
*/
Expand All @@ -99,9 +98,9 @@ public <T> T fail(String failureMessage, Object... args) {
/**
* Fails with the given message and with the {@link Throwable} that caused the failure.
*
* @param <T> dummy return value type
* @param <T> dummy return value type
* @param failureMessage error message.
* @param realCause cause of the error.
* @param realCause cause of the error.
* @return nothing, it's just to be used in {@code doSomething(optional.orElseGet(() -> softly.fail("boom")));}.
* @since 2.6.0 / 3.6.0
*/
Expand All @@ -120,7 +119,7 @@ public <T> T fail(String failureMessage, Throwable realCause) {
* Example:
* <pre><code class='java'> doSomething(optional.orElseGet(() -> softly.fail(cause)));</code></pre>
*
* @param <T> dummy return value type
* @param <T> dummy return value type
* @param realCause cause of the error.
* @return nothing, it's just to be used in {@code doSomething(optional.orElseGet(() -> softly.fail(cause)));}.
* @since 3.26.0
Expand All @@ -139,10 +138,9 @@ public <T> T fail(Throwable realCause) {
*
* @param throwableClass the Throwable class that was expected to be thrown.
* @throws AssertionError with a message explaining that a {@link Throwable} of given class was expected to be thrown but had
* not been.
* @since 2.6.0 / 3.6.0
*
* not been.
* @see #shouldHaveThrown(Class)
* @since 2.6.0 / 3.6.0
*/
@Contract("_ -> fail")
public void failBecauseExceptionWasNotThrown(Class<? extends Throwable> throwableClass) {
Expand All @@ -155,7 +153,7 @@ public void failBecauseExceptionWasNotThrown(Class<? extends Throwable> throwabl
*
* @param throwableClass the Throwable class that was expected to be thrown.
* @throws AssertionError with a message explaining that a {@link Throwable} of given class was expected to be thrown but had
* not been.
* not been.
* @since 2.6.0 / 3.6.0
*/
@Contract("_ -> fail")
Expand All @@ -166,6 +164,7 @@ public void shouldHaveThrown(Class<? extends Throwable> throwableClass) {

/**
* Returns a copy of list of soft assertions collected errors.
*
* @return a copy of list of soft assertions collected errors.
*/
public List<Throwable> errorsCollected() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,19 +94,19 @@
* <pre>
* org.assertj.core.error.AssertJMultipleFailuresError:
* Multiple Failures (4 failure)
* -- failure 1 --
* -- error 1 --
* [Living Guests]
* expected: 7
* but was: 6
* -- failure 2 --
* -- error 2 --
* [Library]
* expected: clean
* but was: messy
* -- failure 3 --
* -- error 3 --
* [Candlestick]
* expected: pristine
* but was: bent
* -- failure 4 --
* -- error 4 --
* [Professor]
* expected: well kempt
* but was: bloodied and disheveled
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1308,7 +1308,7 @@ public static <T> ObjectAssert<T> given(T actual) {
*}</code></pre>
*
* @param <T> the type of elements of the actual objects' array.
* @param actual the actual objects' array to be validated..
* @param actual the actual objects' array to be validated.
* @return the {@link AbstractObjectArrayAssert} assertion object to be used for assumptions.
* @since 3.14.0
*/
Expand Down Expand Up @@ -1338,7 +1338,7 @@ public static <T> ObjectArrayAssert<T> given(T[] actual) {
*}</code></pre>
*
* @param <T> the type of elements of the actual objects' two-dimensional array.
* @param actual the actual objects' two-dimensional array to be validated..
* @param actual the actual objects' two-dimensional array to be validated.
* @return the {@link Object2DArrayAssert} assertion object to be used for assumptions.
* @since 3.17.0
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,19 +79,19 @@
* <pre>
* org.assertj.core.error.AssertJMultipleFailuresError:
* Multiple Failures (4 failure)
* -- failure 1 --
* -- error 1 --
* [Living Guests]
* expected: 7
* but was: 6
* -- failure 2 --
* -- error 2 --
* [Library]
* expected: clean
* but was: messy
* -- failure 3 --
* -- error 3 --
* [Candlestick]
* expected: pristine
* but was: bent
* -- failure 4 --
* -- error 4 --
* [Professor]
* expected: well kempt
* but was: bloodied and disheveled
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@
import java.util.List;
import java.util.Optional;

import org.assertj.core.util.Throwables;

public class DefaultAssertionErrorCollector implements AssertionErrorCollector {

// Marking this field as volatile doesn't ensure complete thread safety
Expand Down Expand Up @@ -158,7 +156,7 @@ public boolean wasSuccess() {
* @return decorated list
*/
protected <T extends Throwable> List<T> decorateErrorsCollected(List<? extends T> errors) {
return Throwables.addLineNumberToErrorMessages(errors);
return (List<T>) errors;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -79,19 +79,19 @@
* <pre>
* org.assertj.core.error.AssertJMultipleFailuresError:
* Multiple Failures (4 failure)
* -- failure 1 --
* -- error 1 --
* [Living Guests]
* expected: 7
* but was: 6
* -- failure 2 --
* -- error 2 --
* [Library]
* expected: clean
* but was: messy
* -- failure 3 --
* -- error 3 --
* [Candlestick]
* expected: pristine
* but was: bent
* -- failure 4 --
* -- error 4 --
* [Professor]
* expected: well kempt
* but was: bloodied and disheveled
Expand Down
Loading
Loading