Skip to content

Fix broken CI/CD pipeline #1930

@remkop

Description

@remkop

Fix broken tests:

  • a recent change used a Java 1.7+ API which results in broken tests when running on Java 1.6 or earlier:
:compileJava/home/runner/work/picocli/picocli/src/main/java/picocli/CommandLine.java:11634:
 <T>emptyEnumeration() is not public in java.util.Collections; 
cannot be accessed from outside package

The solution is to use Collections.enumeration(Collections.emptyList()) instead.

  • Broken tests using System.setSecurityManager on Java 18-ea -> does not manifest on Java GA, separate ticket System-Rules based tests migration #1932

  • ManPageGeneratorTest has 3 failing tests (testEndOfOptionsWithoutOptions - line 307, testNamelessCommand line 489 and testHiddenOptions line 242), likely related to Update option rendering (fixes #1886) #1896

  • Java 10 on Ubuntu fails the build due to a problem in release-tasks.gradle:

> startup failed:
  script '/home/runner/work/picocli/picocli/gradle/release-tasks.gradle': 1: 
  Can't have an abstract method in a non-abstract class. 
  The class '_BuildScript_' must be declared abstract or the method 
  'void init(java.lang.Object, org.gradle.internal.service.ServiceRegistry)' must be implemented.
   @ line 1, column 1.
     task bumpReadmeVersion {

This may be caused by this change in gradle/wrapper/gradle-wrapper.properties, which bumped Gradle from 7.4 to 7.6...

Temporary fix is to revert to Gradle 7.4.

  • Flaky tests? Broken tests on Java 10 ubuntu:
picocli.HelpAnsiTest > testUsageMainCommand_ANSI FAILED
    org.junit.ComparisonFailure at HelpAnsiTest.java:442
stty: /dev/tty: No such device or address

picocli.HelpTest > testMapFieldHelp_with_unlimitedSplit FAILED
    org.junit.ComparisonFailure at HelpTest.java:2926

2327 tests completed, 2 failed, 27 skipped

Solution: skip non-LTS versions of Java

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions