It is possible to submit test runs to TeamCity that don't submit / conditionally submit, but only via IntelliJ or Eclipse.
-Patrick On Jan 31, 2008 9:23 AM, David Ezzio <[EMAIL PROTECTED]> wrote: > Hi, > > I am convinced that change 616658 (small change to DBDictionary.java) is > the source of the two intermittent failures that I am seeing locally. > One of those intermittent failures is the failure in > TestCaseInsensitiveKeywordsInJPQL.testCaseInsensitiveBooleans which is > one of the 33 related failures currently seen in TeamCity Derby builds. > > The other intermittent failure is TestVersion.testVersionTimestamp which > I reported earlier as occurring locally with change 616658. > > When I revert change 616658 locally, both of these issues go away even > with the changes that I submitted to AbstractBrokerFactory in change 616972. > > I have a question: is it possible to run a build in TeamCity without > submitting the change (or conditionally submitting the change) to SVN? > I'd like to find out if reverting 616658 will fix the issue. If so, > then I can try to figure out why it's a problem. > > Thanks, > > David > > > David Ezzio wrote: > > No, but I'm taking a look since my changes appear to be the cause. > > > > Patrick Linskey wrote: > >> 5. The tests are now failing in the automated build; any idea why this > >> might be? > >> > >> -Patrick > >> > >> On Jan 30, 2008 6:11 PM, Patrick Linskey <[EMAIL PROTECTED]> wrote: > >>> Hi, > >>> > >>> A few questions: > >>> > >>> 1. Were you seeing this cause problems somewhere? I.e., when do we > >>> serialize BrokerFactory instances? > >>> > >>> 2. Why not just move the initialization code to the declaration line > >>> (instead of the constructor)? > >>> > >>> 3. It looks like there are other transactional structures that might > >>> not be properly handled in serialization / deserialization (lifecycle > >>> listeners, for example). Should we be making more changes there? > >>> > >>> -Patrick > >>> > >>> > >>> On Jan 30, 2008 4:59 PM, <[EMAIL PROTECTED]> wrote: > >>>> Author: dezzio > >>>> Date: Wed Jan 30 16:59:02 2008 > >>>> New Revision: 616972 > >>>> > >>>> URL: http://svn.apache.org/viewvc?rev=616972&view=rev > >>>> Log: > >>>> Allow EntityManagerFactory objects to be serialized and deserialized > >>>> successfully. > >>>> > >>>> Added: > >>>> > >>>> openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSerializedFactory.java > >>>> (with props) > >>>> Modified: > >>>> > >>>> openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java > >>>> > >>>> > >>>> Modified: > >>>> openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java > >>>> > >>>> URL: > >>>> http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java?rev=616972&r1=616971&r2=616972&view=diff > >>>> > >>>> ============================================================================== > >>>> > >>>> --- > >>>> openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java > >>>> (original) > >>>> +++ > >>>> openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java > >>>> Wed Jan 30 16:59:02 2008 > >>>> @@ -147,8 +147,7 @@ > >>>> */ > >>>> protected AbstractBrokerFactory(OpenJPAConfiguration config) { > >>>> _conf = config; > >>>> - _pcClassLoaders = new ConcurrentReferenceHashSet( > >>>> - ConcurrentReferenceHashSet.WEAK); > >>>> + getPcClassLoaders(); > >>>> } > >>>> > >>>> /** > >>>> @@ -287,13 +286,13 @@ > >>>> if (needsSub(cls)) > >>>> toRedefine.add(cls); > >>>> } > >>>> - _pcClassLoaders.add(loader); > >>>> + getPcClassLoaders().add(loader); > >>>> _pcClassNames = c; > >>>> } > >>>> _persistentTypesLoaded = true; > >>>> } else { > >>>> // reload with this loader > >>>> - if (_pcClassLoaders.add(loader)) { > >>>> + if (getPcClassLoaders().add(loader)) { > >>>> for (Iterator itr = _pcClassNames.iterator(); > >>>> itr.hasNext();) { > >>>> try { > >>>> Class cls = > >>>> @@ -818,4 +817,15 @@ > >>>> _transactional.remove (_trans); > >>>> } > >>>> } > >>>> + > >>>> + /** > >>>> + * Method insures that deserialized EMF has this reference > >>>> re-instantiated > >>>> + */ > >>>> + private Collection getPcClassLoaders() { > >>>> + if (_pcClassLoaders == null) > >>>> + _pcClassLoaders = new ConcurrentReferenceHashSet( > >>>> + ConcurrentReferenceHashSet.WEAK); > >>>> + > >>>> + return _pcClassLoaders; > >>>> + } > >>>> } > >>>> > >>>> Added: > >>>> openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSerializedFactory.java > >>>> > >>>> URL: > >>>> http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSerializedFactory.java?rev=616972&view=auto > >>>> > >>>> ============================================================================== > >>>> > >>>> --- > >>>> openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSerializedFactory.java > >>>> (added) > >>>> +++ > >>>> openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSerializedFactory.java > >>>> Wed Jan 30 16:59:02 2008 > >>>> @@ -0,0 +1,74 @@ > >>>> +/* > >>>> + * Licensed to the Apache Software Foundation (ASF) under one > >>>> + * or more contributor license agreements. See the NOTICE file > >>>> + * distributed with this work for additional information > >>>> + * regarding copyright ownership. The ASF licenses this file > >>>> + * to you under the Apache License, Version 2.0 (the > >>>> + * "License"); you may not use this file except in compliance > >>>> + * with the License. You may obtain a copy of the License at > >>>> + * > >>>> + * http://www.apache.org/licenses/LICENSE-2.0 > >>>> + * > >>>> + * Unless required by applicable law or agreed to in writing, > >>>> + * software distributed under the License is distributed on an > >>>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > >>>> + * KIND, either express or implied. See the License for the > >>>> + * specific language governing permissions and limitations > >>>> + * under the License. > >>>> + */ > >>>> +package org.apache.openjpa.persistence.simple; > >>>> + > >>>> +import java.io.*; > >>>> + > >>>> +import javax.persistence.EntityManager; > >>>> +import javax.persistence.EntityManagerFactory; > >>>> +import javax.persistence.EntityTransaction; > >>>> + > >>>> +import junit.textui.TestRunner; > >>>> +import org.apache.openjpa.persistence.OpenJPAEntityManager; > >>>> +import org.apache.openjpa.persistence.test.SingleEMFTestCase; > >>>> + > >>>> +/** > >>>> + * Tests that a EntityManagerFactory can be used after serialization. > >>>> + * > >>>> + * @author David Ezzio > >>>> + */ > >>>> +public class TestSerializedFactory > >>>> + extends SingleEMFTestCase { > >>>> + > >>>> + public void setUp() { > >>>> + setUp(AllFieldTypes.class); > >>>> + } > >>>> + > >>>> + public void testSerializedEntityManagerFactory() throws > >>>> Exception { > >>>> + // serialize and deserialize the entity manager factory > >>>> + ByteArrayOutputStream baos = new ByteArrayOutputStream(); > >>>> + ObjectOutputStream oos = new ObjectOutputStream(baos); > >>>> + oos.writeObject(emf); > >>>> + EntityManagerFactory emf2 = > >>>> + (EntityManagerFactory) new ObjectInputStream( > >>>> + new > >>>> ByteArrayInputStream(baos.toByteArray())).readObject(); > >>>> + > >>>> + // use the deserialized entity manager factory > >>>> + assertTrue("The deserialized entity manager factory is not > >>>> open", > >>>> + emf2.isOpen()); > >>>> + EntityManager em = emf2.createEntityManager(); > >>>> + assertTrue("The newly created entity manager is not open", > >>>> em.isOpen()); > >>>> + > >>>> + // exercise the entity manager produced from the > >>>> deserialized EMF > >>>> + em.getTransaction().begin(); > >>>> + em.persist(new AllFieldTypes()); > >>>> + em.getTransaction().commit(); > >>>> + > >>>> + // close the extra resources > >>>> + em.close(); > >>>> + assertFalse("The entity manager is not closed", em.isOpen()); > >>>> + emf2.close(); > >>>> + assertFalse("The entity manager factory is not closed", > >>>> emf2.isOpen()); > >>>> + } > >>>> + > >>>> + public static void main(String[] args) { > >>>> + TestRunner.run(TestSerializedFactory.class); > >>>> + } > >>>> +} > >>>> + > >>>> > >>>> Propchange: > >>>> openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSerializedFactory.java > >>>> > >>>> ------------------------------------------------------------------------------ > >>>> > >>>> svn:eol-style = native > >>>> > >>>> > >>>> > >>> > >>> > >>> -- > >>> Patrick Linskey > >>> 202 669 5907 > >>> > >> > >> > >> > > > -- Patrick Linskey 202 669 5907
