Hi Sean, Your links are very informative. I think using Categories is a great idea. Categories can also be used to differentiate between tests that require: DB (MySQL, Oracle, HSQLDB etc) vs non-DB, slow vs fast, UMLS vs non-UMLS.
In the solution you propose, if I understand right, the discriminator between running or not running UMLSs tests would be if the category has been added to the default profile. I wonder if it might not create the behavior, for the community, to not run some categories of tests. What I was thinking is to use Assume.assumeTrue [1] (as a side note, it can be used together with Categories ) and ignore the execution of the test if UMLSs account is not setup and enforce to use UMLS if the realease profile is being used. The reason I say this is because when the release is going to be built, the owner will be forced to certify that all tests run. Just my $0.02. What we can also do, is to create a PR, and upload the patch, and based on a consensus to apply the patch. I will follow your lead on this. What do you think? Alex [1] - http://junit.sourceforge.net/javadoc/org/junit/Assume.html#assumeTrue(boolean) On Wed, Nov 15, 2017 at 10:05 AM, Finan, Sean < sean.fi...@childrens.harvard.edu> wrote: > Hi Alex, > > That might work, but I don't know that playing with the release profile is > the best course of action. I have found a few other possibilities. I am > leaning toward #3 (@Category) > > This approach separates tests into two different directories and > profiles. It requires a good number of pom changes.: > https://www.testwithspring.com/lesson/running- > integration-tests-with-maven/ > which is an update of this: > https://www.petrikainulainen.net/programming/maven/ > integration-testing-with-maven/ > > Another approach looks simpler and more straightforward, using filenames > for tests and a profile: > https://semaphoreci.com/community/tutorials/how-to-split-junit-tests-in-a- > continuous-integration-environment > Since this could be done with the -regression module alone we wouldn't > need to rename all unit test files in other modules. > > That being said, it looks like junit 4.8 (or earlier?) has @Category > annotations that can be used: > https://github.com/junit-team/junit4/wiki/categories > slightly reworded ...: > https://dzone.com/articles/closer-look-junit-categories > > Any thoughts on these approaches? > > I think that the regression test should be rewritten. It is pretty old > and doesn't actually test the default clinical pipeline as executed by bin/ > scripts anymore. > > Sean > > -----Original Message----- > From: Alexandru Zbarcea [mailto:zbarce...@gmail.com] > Sent: Tuesday, November 14, 2017 7:47 PM > To: Apache cTAKES Dev > Subject: Re: Disable yTEX and Regression tests on Jenkins [EXTERNAL] > > Hi, > > It seems that the patch for the org.apache.ctakes.ytex.ConceptDaoTest was > already provided on CTAKES-334. > > Applying the fix passes the test. > > The only test that needs to be fixed seems to be: > RegressionPipelineTest:testCPE. For this, the fix is to export the UMLS > credentials. > > I am currently working on enabling the the test based on the umls > credentials being available and enforcing the execution on a release > profile, which now seems to be disabled: > useReleaseProfile>false</useReleaseProfile > > Any feedback? > Alex > > [1] - > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds. > apache.org_view_C_view_Apache-2520cTAKES_job_ctakes-2Dtrunk- > 2Dcompiletest_1124_org.apache.ctakes-24ctakes-2Dregression- > 2Dtest_testReport_org.apache.ctakes.regression.test_ > RegressionPipelineTest_testCPE_&d=DwIBaQ&c=qS4goWBT7poplM69zy_ > 3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m= > zeyWc75KvsxXPw3cJmG6oF2TBpxrlbOGRwQyh3CZ-eY&s=kgBJTLtXcwxSXuviL2BBBT- > j5xGFN4uLHQbEkzPeww0&e= > > > On Tue, Nov 14, 2017 at 9:47 AM, Gandhi Rajan Natarajan < > gandhi.natara...@arisglobal.com> wrote: > > > Hi Alex, > > > > The error we got in ConceptDaoTest is different from yours. We got the > > following: > > > > testCreateConceptGraph(org.apache.ctakes.ytex.ConceptDaoTest): Unable > > to initialize group definition. Group resource name > > [classpath*:org/apache/ctakes/ytex/kernelBeanRefContext.xml], factory > > key [kernelApplicationContext]; nested exception is > > org.springframework.beans.factory.BeanCreationException: Error > > creating bean with name 'kernelApplicationContext' defined in URL > > [file:/D:/Gandhi/ArisG/cTAKES/ctakes_src_new%20-%20Copy/ctak > > es-ytex-res/src/main/resources/org/apache/ctakes/ > ytex/kernelBeanRefContext.xml]: > > Instantiation of bean failed; nested exception is > > org.springframework.beans.BeanInstantiationException: Could not > > instantiate bean class [org.springframework.context.s > > upport.ClassPathXmlApplicationContext]: Constructor threw exception; > > nested exception is org.springframework.beans. > factory.BeanCreationException: > > Error creating bean with name 'gramMatrixExporter' defined in class > > path resource [org/apache/ctakes/ytex/beans-kernel.xml]: > > Initialization of bean failed; nested exception is > org.springframework.beans.FatalBeanException: > > Failed to obtain BeanInfo for class > > [org.apache.ctakes.ytex.weka.GramMatrixExporterImpl]; > > nested exception is java.beans.IntrospectionException: type mismatch > > between read and write methods > > > > Can you do a full build once and try? > > > > Regards, > > Gandhi > > > > > > -----Original Message----- > > From: Finan, Sean [mailto:sean.fi...@childrens.harvard.edu] > > Sent: Tuesday, November 14, 2017 7:36 PM > > To: dev@ctakes.apache.org > > Subject: RE: Disable yTEX and Regression tests on Jenkins [EXTERNAL] > > > > Hi Alex, > > > > Major kudos for trying to track this down. > > > > I am not sure why you are seeing that particular problem. Metadata > > class should be auto-generated from the type system, and it does have > > the > > getPatientIdentifier() method. > > https://urldefense.proofpoint.com/v2/url?u=https-3A__svn.apache.org_re > > pos_asf_ctakes_trunk_ctakes-2Dtype-2Dsy&d=DwIBaQ&c=qS4goWBT7poplM69zy_ > > 3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao > > &m=zeyWc75KvsxXPw3cJmG6oF2TBpxrlbOGRwQyh3CZ-eY&s=kWkYEuKO59NQE3OMhtIYc > > dGfi0U_56Szw8fxzngfm_0&e= > > stem/src/main/resources/org/apache/ctakes/typesystem/types/TypeSystem. > > xml > > > > Do you think that it is possible that the jcasgen is not being run > > before the test? I think that it is run for ctakes-util, which is a > > dependency for all modules. > > > > Regardless, I cannot see where getPatientIdentifier() is used in > > ConceptDaoTest. I can't see where the class Metadata is used in > > ConceptDaoTest. From a quick code search, Metadata is only used by > > the class SourceMetadataUtil in core. SourceMetadataUtil is only used > > by two classes, both in core. I think that the change in test status > > is actually unrelated to the Metadata checkin. That being said, I > > don't have any good idea about what is causing it. > > > > Thanks, > > Sean > > > > -----Original Message----- > > From: Alexandru Zbarcea [mailto:zbarce...@gmail.com] > > Sent: Monday, November 13, 2017 6:24 PM > > To: Apache cTAKES Dev > > Subject: RE: Disable yTEX and Regression tests on Jenkins [EXTERNAL] > > > > Hi, > > > > The official Jenkins job (referenced in the pom.xml) is: > > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds. > > apache.org_job_ctakes-2Dtrunk_&d=DwIBaQ&c=qS4goWBT7poplM69zy > > _3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpK > > Gd4f7d4gTao&m=l0_Tnqk6P-iMIhPUpRO8RiW-eImTKvJDGishYy1Jk-o&s= > > ul6gCHWXUReDCZccgemrhL9EEFs0Id7WilYITMNr5yw&e=. As one may notice, the > > status is Unstable. I was working on the cTAKES-trunk-Java-1.8 Jenkins > > job [1] to try to fix the issues there. As such the tests failed can > > be found here [2]. > > > > So trying to fix one by one, I discovered that for > > ctakes-ytex:ConceptDaoTest.java:testCreateConceptGraph: > > > > There is the construction: > > metadata.getPatientIdentifier() > > (where metadata:org.apache.ctakes.typesystem.type.structured.Metadata). > > > > Researching where this comes (because it seems it is a new issue), I > > realized that is related to: > > ctakes-type-system/target/generated-sources/jcasgen/org/apac > > he/ctakes/typesystem/type/structured/Metadata.java > > :75: public String getPatientIdentifier() { > > > > more: > > https://urldefense.proofpoint.com/v2/url?u=https-3A__github. > > com_apache_ctakes_commit_bcdc25420eede623a0889b1db26e1307a2b > > 193bf&d=DwIBaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU > > &r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=l0_Tnqk6P-i > > MIhPUpRO8RiW-eImTKvJDGishYy1Jk-o&s=c2oayQ5_G3YgHT5iX9AJw9kuh > > Ir94bFRZ7nxj3ebpuw&e= > > (10 Oct 2017) > > > > I thought that it will be a quick fix just replacing: > > > > metadata.getPatientIdentifier() > > > > with > > > > String.format("%d", metadata.getPatientID()); > > > > > > Any feedback? > > Alex > > > > [1] - > > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds. > > apache.org_view_C_view_Apache-2520cTAKES_job_cTAKES-2Dtrunk- > > 2DJava-2D1.8_&d=DwIBaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdio > > CoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=l0_ > > Tnqk6P-iMIhPUpRO8RiW-eImTKvJDGishYy1Jk-o&s=aRH4KLtGndnC-b7UT > > dMqjej6vTDKxavocQwUokE6EHw&e= > > [2] - > > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds. > > apache.org_view_C_view_Apache-2520cTAKES_job_cTAKES-2Dtrunk- > > 2DJava-2D1.8_25_testReport_&d=DwIBaQ&c=qS4goWBT7poplM69zy_3x > > hKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4 > > f7d4gTao&m=l0_Tnqk6P-iMIhPUpRO8RiW-eImTKvJDGishYy1Jk-o&s=-Pw > > jGWv5MEFT_1Jui9b27fdgkKfFRa29hts-FMalo8I&e= > > > > > > On Nov 13, 2017 10:41, "Finan, Sean" > > <sean.fi...@childrens.harvard.edu> > > wrote: > > > > > Thanks Gandhi! > > > > > > -----Original Message----- > > > From: Gandhi Rajan Natarajan > > > [mailto:gandhi.natara...@arisglobal.com] > > > Sent: Monday, November 13, 2017 10:40 AM > > > To: dev@ctakes.apache.org > > > Subject: RE: Disable yTEX and Regression tests on Jenkins [EXTERNAL] > > > > > > Hi All, > > > > > > We had a look at ctakes-Ytex module's failing test cases and looks > > > like it will not have an impact once we upgrade Spring 4x in cTAKES. > > > > > > We will have a run through at other modules and check the failing > > > test cases if any. > > > > > > Regards, > > > Gandhi > > > > > > > > > -----Original Message----- > > > From: Sandeep Byatha Gururaja rao [mailto:sandeep...@arisglobal.com] > > > Sent: Monday, November 13, 2017 6:50 PM > > > To: dev@ctakes.apache.org > > > Subject: RE: Disable yTEX and Regression tests on Jenkins [EXTERNAL] > > > > > > Hi Sean, > > > > > > Myself and Gandhi will work on this and try to fix the issues. > > > > > > Regards, > > > Sandeep > > > > > > ------------------------------------ > > > > > > Hi Gandhi, > > > > > > Many thanks for volunteering. I am slammed with work right now, but > > > if anybody else can also help out ... > > > > > > Sean > > > > > > -----Original Message----- > > > From: Gandhi Rajan Natarajan > > > [mailto:gandhi.natara...@arisglobal.com] > > > Sent: Thursday, November 09, 2017 12:43 AM > > > To: dev@ctakes.apache.org > > > Subject: RE: Disable yTEX and Regression tests on Jenkins [EXTERNAL] > > > > > > Hi Sean, > > > > > > I can take it up if someone is willing to guide me on this. > > > > > > Regards, > > > Gandhi > > > > > > > > > -----Original Message----- > > > From: Finan, Sean [mailto:sean.fi...@childrens.harvard.edu] > > > Sent: Wednesday, November 08, 2017 9:45 PM > > > To: dev@ctakes.apache.org > > > Subject: Disable yTEX and Regression tests on Jenkins > > > > > > Hi all, > > > > > > The Jenkins builds have been failing for about a month now because > > > of internal Jenkins changes and 'unit' tests in the > > > ctakes-Regression and ctakes-yTEX modules. This is holding up the > > > build for all of our primary clinical-pipeline modules. > > > > > > If anybody can take a look at the problems and fix them please > > > respond to this email. Otherwise I would like to create a jira > > > issue and disable them until somebody does have the time to take care > of them. > > > If you have a good reason for these tests not being disabled (e.g. > > > we might forget to fix > > > them) please state a case. I do not intend to act unilaterally on > > > this issue. > > > > > > Please respond by midnight Friday, November 10. > > > > > > Thank you, > > > > > > Sean > > > This email and any files transmitted with it are confidential and > > > intended solely for the use of the individual or entity to whom they > > > are > > addressed. > > > If you are not the named addressee you should not disseminate, > > > distribute or copy this e-mail. Please notify the sender or system > > > manager by email immediately if you have received this e-mail by > > > mistake and delete this e-mail from your system. If you are not the > > > intended recipient you are notified that disclosing, copying, > > > distributing or taking any action in reliance on the contents of > > > this information is strictly prohibited and against the law. > > > > > > This email and any files transmitted with it are confidential and > > > intended solely for the use of the individual or entity to whom they > > > are > > addressed. > > > If you are not the named addressee you should not disseminate, > > > distribute or copy this e-mail. Please notify the sender or system > > > manager by email immediately if you have received this e-mail by > > > mistake and delete this e-mail from your system. If you are not the > > > intended recipient you are notified that disclosing, copying, > > > distributing or taking any action in reliance on the contents of > > > this information is strictly prohibited and against the law. > > > This email and any files transmitted with it are confidential and > > > intended solely for the use of the individual or entity to whom they > > > are > > addressed. > > > If you are not the named addressee you should not disseminate, > > > distribute or copy this e-mail. Please notify the sender or system > > > manager by email immediately if you have received this e-mail by > > > mistake and delete this e-mail from your system. If you are not the > > > intended recipient you are notified that disclosing, copying, > > > distributing or taking any action in reliance on the contents of > > > this information is strictly prohibited and against the law. > > > > > This email and any files transmitted with it are confidential and > > intended solely for the use of the individual or entity to whom they are > addressed. > > If you are not the named addressee you should not disseminate, > > distribute or copy this e-mail. Please notify the sender or system > > manager by email immediately if you have received this e-mail by > > mistake and delete this e-mail from your system. If you are not the > > intended recipient you are notified that disclosing, copying, > > distributing or taking any action in reliance on the contents of this > > information is strictly prohibited and against the law. > > >