-
Notifications
You must be signed in to change notification settings - Fork 603
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
1551 run config12 tck #1725
1551 run config12 tck #1725
Conversation
Code analysis and actionsDO NOT DELETE THIS COMMENT.
|
2d3f364
to
7472a8e
Compare
Tom you have pulled in two commits from 10 days ago as part of the merge that are part of 1491. That I know Neil has been reviewing here: #1670. |
@@ -0,0 +1,23 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<projectDescription> | |||
<name>com.ibm.ws.microprofile.config.1.2_fat_tck</name> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Edited/changed project name (from Eclipse).
*******************************************************************************/ | ||
|
||
dependencies { | ||
requiredLibs 'org.hamcrest:hamcrest-all:1.3' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maven co-ordinates of libraries to add to /lib/ dir from where the Arquillian extension below can shrinkwrap them into test wars.
* Contributors: | ||
* IBM Corporation - initial API and implementation | ||
*******************************************************************************/ | ||
package org.eclipse.microprofile.config12.tck; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TCK specific package name.
* There is a detailed output on specific | ||
*/ | ||
@RunWith(FATRunner.class) | ||
public class ConfigTckPackageTest { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TCK (or in this case spec) specific Test Class Name.
|
||
@AfterClass | ||
public static void tearDown() throws Exception { | ||
server.stopServer("CWMCG0007E", "CWMCG0014E", "CWMCG0015E", "CWMCG5003E", "CWWKZ0002E"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A list of specific expected errors your TCK leaves in the logs files. Error nopt in this list will cause the FAT bucket to be marked as failed.
|
||
@Test | ||
@AllowedFFDC // The tested deployment exceptions cause FFDC so we have to allow for this. | ||
public void testConfigTck() throws Exception { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the name of the testcase, the passing of which indicates ALL tests in the TCK passed. IN this case you might think it would be better as testConfig12TCK but that is fairly clear from the package name. Also - when experienced there is only a 'standard' failure message, so little point in triaging (double clicking on) this test - so in the longer tyerm it would be better to go ythe other way and have a really common recognisable name that was not spec or version spercific like testTCKKickoff - chat tomorrow Tom.
// mvn returns 0 if all surefire tests pass and -1 otherwise - this Assert is enough to mark the build as having failed | ||
// the TCK regression | ||
|
||
Assert.assertTrue("com.ibm.ws.microprofile.config.1.2_fat_tck:org.eclipse.microprofile.config12.tck.ConfigTckPackageTest:testTck:TCK has returned non-zero return code of: " |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CSI requested a spec specific message here.
* Contributors: | ||
* IBM Corporation - initial API and implementation | ||
*******************************************************************************/ | ||
package org.eclipse.microprofile.config12.tck; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bucket specific package.
|
||
@RunWith(Suite.class) | ||
@SuiteClasses({ | ||
ConfigTckPackageTest.class |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bucket specific test class
<feature>webProfile-7.0</feature> | ||
<feature>localConnector-1.0</feature> | ||
<feature>cdi-1.2</feature> | ||
<feature>mpConfig-1.2</feature> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
features needed are often specific to TCK
<include location="../fatTestPorts.xml" /> | ||
|
||
<!--Java2 security--> | ||
<javaPermission className="java.security.AllPermission" name="*" actions="*" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is needed for Arquillian getClassloader to be allowed in a Java 2 Security build.
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<groupId>com.ibm.ws.microprofile.config12</groupId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maven coords are FAT bucket specific
--> | ||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > | ||
|
||
<suite name="microprofile-config-1.2-tck" verbose="2" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suite, test and package name are TCK specific
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<groupId>com.ibm.ws.microprofile.config12</groupId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
group and name are TCK specific
<name>MicroProfile Config 1.2 TCK Runner TCK Module</name> | ||
|
||
<properties> | ||
<microprofile.config.version>1.2</microprofile.config.version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This variable name and the dependencies it is used in are TCK specific.
<artifactId>microprofile-config-api</artifactId> | ||
<version>${microprofile.config.version}</version> | ||
<scope>system</scope> | ||
<systemPath>${com.ibm.websphere.org.eclipse.microprofile.config.1.2_}</systemPath> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the shipped API being tested.
<dependency> | ||
<groupId>com.ibm.ws.org.jboss.arquillian.container</groupId> | ||
<artifactId>arquillian-wlp-managed-8.5</artifactId> | ||
<version>1.0.0.Final-SNAPSHOT</version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be possible that SOME TCKs will need a custom version of this jar until their requirements are met by either the IBM staging/common one (above) or the 'public' arquillian. If so, put it in artifactory with a different version name and reference it here.
@Override | ||
public void process(Archive<?> applicationArchive, TestClass testClass) { | ||
if (applicationArchive instanceof WebArchive) { | ||
File hamcrest = new File("../../../lib/hamcrest-all-1.3.jar"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any additional jars used in the TCK that are not in LIberty can be added to build.gradle and referenced here.
public class ArquillianLoadableExtension implements LoadableExtension { | ||
@Override | ||
public void register(ExtensionBuilder extensionBuilder) { | ||
System.out.println("WLP: Adding Extension com.ibm.ws.microprofile.config12.test.ArchiveProcessor"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This, is class (name) specific to aid debugging.
@@ -0,0 +1 @@ | |||
com.ibm.ws.microprofile.config12.test.ArquillianLoadableExtension |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is project specific text too.
--> | ||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > | ||
|
||
<suite name="microprofile-config-1.2-tck" verbose="2" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TCK specific
<method-selector> | ||
<script language="beanshell"> | ||
<![CDATA[ | ||
!method.getDeclaringClass().getSimpleName().startsWith("CDIPlainInjectionTest") && |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are tests that are being TEMPORARILY excluded as they don't pass.
</script> | ||
</method-selector> | ||
</method-selectors> | ||
<package name="org.eclipse.microprofile.config.tck.*"></package> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TCK specific.
@@ -29,7 +26,6 @@ | |||
* This is a test class that runs a whole Maven TCK as one test FAT test. | |||
* There is a detailed output on specific | |||
*/ | |||
@SuppressWarnings("restriction") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to chat about this.
// ftInvalidCB5. The exception message was: | ||
// com.ibm.ws.container.service.state.StateChangeException: | ||
// org.jboss.weld.exceptions.DefinitionException | ||
"CWMFT5003E", // CWMFT5003E: The fallback method fallbackForServiceB with parameter types |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't prefer this change to the layout
mvn = mvn + ".cmd"; | ||
} | ||
mvnCliRaw = new String[] { mvn, "clean", "test", "-Dwlp=" + wlp, "-Dtck_server=" + server.getServerName(), | ||
"-Dtck_port=" + server.getPort(PortType.WC_defaulthost), "-DtargetDirectory=" + logDir.getAbsolutePath() + "/tck" }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is Props.DIR_LOG still under 'results' directory or somewhere that is copied back to the main build results area from the child build?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neil is reviewing the other commits. Nothing major in the TCK ones. Please could you call logDir resultsDir as it only works if it is the junit results dir and they are not logs.
if (!init) { | ||
init(server); | ||
} | ||
// Everything under autoFVT/results is collected from the child build machine |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not clear that logDir is 'autoFVT/results' dir
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also LOG_DIR has a specific different meaning as an environment variable: https://www.ibm.com/support/knowledgecenter/en/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/rwlp_logging.html
int rc = runCmd(MvnUtils.mvnCliTckRoot, MvnUtils.tckRunnerDir, mvnOutput); | ||
Assert.assertEquals("mvn returned non-zero: " + rc, 0, rc); | ||
File src = new File(MvnUtils.logDir, "tck/surefire-reports/junitreports"); | ||
File tgt = new File(MvnUtils.logDir, "junit"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So logDir must be 'results' for this to work - so better to call it 'resultsDir none of these are logs after all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you conform with Neils review for the impl requests I am happy to approve the TCK one :-) (With the pref for logDir -> resultsDir as LOG_DIR is something else: https://www.ibm.com/support/knowledgecenter/en/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/rwlp_logging.html )
7472a8e
to
f381ecb
Compare
f381ecb
to
7e07175
Compare
#build |
Your personal build request is at https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_njDmQAEBEei-3vT9-bzFwg Target locations of links might be accessible only to IBM employees. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The build tevans78-1725-20180124-1335 |
No description provided.