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

FISH-10299 Faces old-tests #121

Merged
merged 5 commits into from
Dec 18, 2024
Merged

Conversation

aubi
Copy link
Contributor

@aubi aubi commented Dec 17, 2024

How I tested:

  1. You need Maven 3.9.6 (or newer), Java 21
  2. Download the TCK in tck-download/jakarta-faces-tck (go there, run mvn clean install)
  3. Compile latest Payara 7, don't use QuickBuild profile (test needs zip), use jakarta-staging, ! mvn clean install -Pjakarta-staging -T 16 -DskipTests -Dmaven.test.skip -Djavadoc.skip=true -Dsource.skip=true

From /faces-tck, run only the old part of the TCK:

~/programs/java/maven/apache-maven-3.9.6/bin/mvn -B clean install test verify -Dtck.mode=platform -Dmojarra.noupdate=true -Dpayara.version=7.2025.1.Alpha1-SNAPSHOT -Dfaces.version=4.1.1 -Dmaven.exec.skipping="-pl :old-faces-tck-parent,:old-tck-build,:old-tck-run"

It takes more than 4 hours! The total number of tests is 5391. I suggest monitoring by storing the output to a file (faces-tck.log) and run tail -F faces-tck.log | grep 'Number of tests completed:' on another terminal.

[INFO] Old Jakarta Faces TCK - build ...................... SUCCESS [05:50 min]
[INFO] Old Jakarta Faces TCK - main ....................... SUCCESS [  3.433 s]
[INFO] Old Jakarta Faces TCK - run ........................ SUCCESS [  04:35 h]

I solved unrelated issue with chrome version (CDP implementation), if running the whole test now gets further

  • Requires Chrome 131.*
mvn -B clean install test verify -Dtck.mode=platform -Dmojarra.noupdate=true -Dpayara.version=7.2025.1.Alpha1-SNAPSHOT -Dfaces.version=4.1.1

Before this PR, the complete test failed in Test - Faces 2.2 - Ajax:

[INFO] Jakarta Faces 4.1.1 TCK ............................ SUCCESS [ 10.280 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Util .............. SUCCESS [  3.461 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 ......... SUCCESS [  1.769 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - Ajax .. FAILURE [02:30 min]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - CDI Bean Validator SKIPPED
...
[ERROR]   Run 1: Issue939IT>BaseITNG.setUp:56 » DevTools You are using a no-op implementation of the CDP. The most likely reason for this is that Selenium was unable
to find an implementation of the CDP protocol that matches your browser. Please be sure to include an implementation on the classpath, possibly by adding a new (maven
) dependency of `org.seleniumhq.selenium:selenium-devtools-vNN:4.20.0` where `NN` matches the major version of the browser you're using.

With this PR, it fails later with timeout:

[INFO] Jakarta Faces 4.1.1 TCK ............................ SUCCESS [ 15.998 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Util .............. SUCCESS [  5.908 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 ......... SUCCESS [  3.076 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - Ajax .. FAILURE [12:08 min]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - CDI Bean Validator SKIPPED

[INFO] Running ee.jakarta.tck.faces.test.servlet30.ajax_selenium.Issue3106IT
[ERROR] Tests run: 4, Failures: 0, Errors: 4, Skipped: 0, Time elapsed: 498.1 s <<< FAILURE! -- in ee.jakarta.tck.faces.test.servlet30.ajax_selenium.Issue3106IT
[ERROR] ee.jakarta.tck.faces.test.servlet30.ajax_selenium.Issue3106IT.testMultiPart1 -- Time elapsed: 124.4 s <<< ERROR!
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for ee.jakarta.tck.faces.test.util.selenium.WebPage$$Lambda/0x00007f3e1c3e0418@eb09112 (tried for 120 second(s) with 500 milliseconds interval)
	at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:84)

Running with -Dmaven.exec.skipping="-Dtest.selenium=false" it gets even to:

[INFO] Jakarta Faces 4.1.1 TCK ............................ SUCCESS [ 13.583 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Util .............. SUCCESS [  4.306 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 ......... SUCCESS [  2.758 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - Ajax .. SUCCESS [  4.935 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - CDI Bean Validator SUCCESS [  6.130 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - CDI Init/Destroy Events SUCCESS [  6.080 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - CDI Method Validation SUCCESS [  4.959 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - CDI Multi-Tenant Sets TCCL SUCCESS [  2.992 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - CDI without a beans.xml SUCCESS [  4.661 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - childCountTest SUCCESS [  4.661 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - compositeComponent SUCCESS [  4.558 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - Expression Language Lambda SUCCESS [  4.649 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - Facelets Template SUCCESS [  4.578 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - Multi Field Validation SUCCESS [  5.109 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - Protected View SUCCESS [  4.913 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - ViewScope SUCCESS [  4.777 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - ViewAction CDI ViewScoped SUCCESS [  4.456 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - View Expired SUCCESS [  2.878 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - viewParameter with null value for Ajax SUCCESS [  3.568 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 ......... SUCCESS [  2.417 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - Ajax .. SUCCESS [  3.587 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - CDI ... SUCCESS [ 15.016 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - commandScript SUCCESS [  3.509 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - Converter SUCCESS [  5.543 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - disableFaceletToXhtmlMapping SUCCESS [  4.282 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - EL .... SUCCESS [  4.506 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - Exact mapping SUCCESS [  3.490 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - FaceletCacheFactory SUCCESS [  4.631 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - Facelets SUCCESS [  5.270 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - facesConverter SUCCESS [  4.514 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - facesDataModel SUCCESS [  4.850 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - Flash . SUCCESS [  4.342 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - getViews SUCCESS [  4.830 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - importConstants SUCCESS [  4.315 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - localizedComposite SUCCESS [  4.575 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - namespacedView SUCCESS [  3.438 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - passthrough SUCCESS [  4.501 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - searchExpression SUCCESS [  3.395 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - System Event SUCCESS [  4.447 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - uidecorate SUCCESS [  4.435 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - UIInput SUCCESS [  6.627 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - UIInput Required True Always Validate SUCCESS [  4.448 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - validateWholeBean SUCCESS [  4.814 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - websocket SUCCESS [  3.464 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - xhtmlMappingToFaceletByDefault SUCCESS [  4.305 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.3 - xhtmlNamespaces SUCCESS [  4.331 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 ......... SUCCESS [  2.504 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - f:ajax  SUCCESS [  4.938 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - beanValidation SUCCESS [  7.995 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - CDI ... SUCCESS [ 27.934 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - doctype SUCCESS [  8.735 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - Extensionless Mapping SUCCESS [  7.545 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - h:inputFile SUCCESS [  7.782 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - h:inputText SUCCESS [  7.359 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - Java Page SUCCESS [  7.633 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - Java Page with Metadata SUCCESS [  7.649 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - namespaces SUCCESS [  7.809 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - resources SUCCESS [  7.587 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - f:selectItemGroup SUCCESS [  7.623 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - f:selectItemGroups SUCCESS [  7.798 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.0 - h:selectManyCheckbox SUCCESS [  7.894 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.1 ......... SUCCESS [  2.430 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.1 - facesMessage SUCCESS [  4.100 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.1 - headAndBodyRenderer SUCCESS [  4.771 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.1 - uiRepeat SUCCESS [  4.829 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 4.1 - uuidConverter SUCCESS [  5.979 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Old TCK Selenium .. SUCCESS [  2.521 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Old TCK Port - Ajax FAILURE [  6.022 s]
[INFO] Jakarta Faces TCK 4.1.1 - Test - Old TCK Port - commandLink SKIPPED
[INFO] Jakarta Faces TCK 4.1.1 - Test - Faces 2.2 - protectedViews SKIPPED
[INFO] Old Jakarta Faces TCK - build ...................... SKIPPED
[INFO] Old Jakarta Faces TCK - main ....................... SKIPPED
[INFO] Old Jakarta Faces TCK - run ........................ SKIPPED
[INFO] Faces TCK Signature Test ........................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  06:22 min

The issue is

Exception class=[net.sourceforge.htmlunit.corejs.javascript.EvaluatorException]
com.gargoylesoftware.htmlunit.ScriptException: TypeError: redeclaration of const B. (http://localhost:8080/old-tck-ajax/faces/jakarta.faces.resource/faces.js;jsessionid=5bea81ec64e5d0ae6fdbd3f03f09?ln=jakarta.faces#31)

aubi added 4 commits December 16, 2024 13:14
The TCK is written for Chrome 124.*, but the current version is 131.
This commit upgrades the dependency, first using the selenium dev tools
and then rewriting java test imports.
Comment on lines 1 to -9
#!/bin/bash
if [ JAVA_HOME = "" ] ; then
#if [ JAVA_HOME = "" ] ; then
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
fi
#fi

#echo "Downloading Faces TCK"
#cd ..
#mvn clean install -pl .,:tck-download,:jakarta-faces-tck
#cd faces-tck

#echo "Building old tck, expected time 3-7 minutes"
#cd target/faces-tck-4.1.1/tck/old-tck
#mvn clean install -Dtck.mode=platform -Dmojarra.noupdate=true -Dpayara.version=7.2024.1.Alpha2 -Dfaces.version=4.1.1 -pl :old-faces-tck-parent,:old-tck-build | tee ../../../old-tck.log
#cd ..

echo "Downloading Faces TCK"
cd ..
mvn clean install -pl .,:tck-download,:jakarta-faces-tck
cd faces-tck
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you intend to commit these changes?

This is a script which just runs mvn clean verify and does nothing else.
If this is intentional I'd just delete the file as it's pointless.
If anything it's worse than pointless, as it will overwrite JAVA_HOME with an environment specific value

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll move the notes to README and delete the script

@Pandrex247
Copy link
Member

I have raised a follow-up issue to address that this "old" TCK is currently hardcoded to run against the full version of Payara - you cannot run it against Web Profile.

Copy link
Member

@Pandrex247 Pandrex247 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-blocking, but that run-tck.sh script should probably be removed at this point

@aubi
Copy link
Contributor Author

aubi commented Dec 18, 2024

@Pandrex247 I updated README and deleted the script: #122

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants