diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..868f2c7 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,35 @@ +name: Test LuceeDebug Agent + +on: [ push, pull_request, workflow_dispatch ] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + + - name: Build shadowJar + run: ./gradlew :luceedebug:shadowjar + + # Docker is pre-installed on ubuntu-latest + - name: Run tests (Lucee 5, 6, 7 via Docker) + run: ./gradlew :luceedebug:test --info + timeout-minutes: 30 + + - name: Upload test results + uses: actions/upload-artifact@v4 + if: always() + with: + name: test-results + path: | + luceedebug/build/reports/tests/ + luceedebug/build/test-results/ diff --git a/luceedebug/src/main/java/luceedebug/coreinject/DebugManager.java b/luceedebug/src/main/java/luceedebug/coreinject/DebugManager.java index ba008bd..6c49331 100644 --- a/luceedebug/src/main/java/luceedebug/coreinject/DebugManager.java +++ b/luceedebug/src/main/java/luceedebug/coreinject/DebugManager.java @@ -13,7 +13,6 @@ import java.util.concurrent.TimeUnit; import java.util.function.Supplier; -import javax.servlet.ServletException; import com.google.common.collect.MapMaker; import com.sun.jdi.Bootstrap; @@ -196,7 +195,7 @@ public PageContextAndOutputStream(PageContext pageContext, ByteArrayOutputStream } // is there a way to conjure up a new PageContext without having some other page context? - public static PageContextAndOutputStream ephemeralPageContextFromOther(PageContext pc) throws ServletException { + public static PageContextAndOutputStream ephemeralPageContextFromOther(PageContext pc) throws Exception { final var outputStream = new ByteArrayOutputStream(); PageContext freshEphemeralPageContext = lucee.runtime.util.PageContextUtil.getPageContext( /*Config config*/ pc.getConfig(), @@ -205,7 +204,7 @@ public static PageContextAndOutputStream ephemeralPageContextFromOther(PageConte /*String host*/ "", /*String scriptName*/ "", /*String queryString*/ "", - /*Cookie[] cookies*/ new javax.servlet.http.Cookie[] {}, + /*Cookie[] cookies*/ null, /*Map headers*/ new HashMap<>(), /*Map parameters*/ new HashMap<>(), /*Map attributes*/ new HashMap<>(), diff --git a/test/docker/7/Dockerfile b/test/docker/7/Dockerfile index d764c28..967578e 100644 --- a/test/docker/7/Dockerfile +++ b/test/docker/7/Dockerfile @@ -1,4 +1,4 @@ -FROM lucee/lucee:7.0.0.317-SNAPSHOT-nginx-tomcat11.0-jdk21-temurin-noble +FROM lucee/lucee:7.0.0.395-nginx-tomcat11.0-jdk21-temurin-noble # "@LUCEEDEBUG_JAR" replaced programmatically with filename ENV LUCEEDEBUG_JAR /build/@LUCEEDEBUG_JAR