Browse Source

Segregate add'l long-running and performance tests

- Add TestGroup#LONG_RUNNING to distinguish from #PERFORMANCE, the
   former being tests that simply take a long time vs the latter being
   tests that are actually dependent on certain actions happening within
   a given time window and are thefore CPU-dependent.

Issue: SPR-9984
pull/216/merge
Chris Beams 13 years ago
parent
commit
68e3b7773c
  1. 13
      spring-aspects/src/test/java/org/springframework/scheduling/aspectj/AnnotationAsyncExecutionAspectTests.java
  2. 15
      spring-beans/src/test/java/org/springframework/beans/factory/ConcurrentBeanFactoryTests.java
  3. 6
      spring-beans/src/test/java/org/springframework/beans/factory/support/BeanFactoryGenericsTests.java
  4. 16
      spring-beans/src/test/java/org/springframework/beans/support/PagedListHolderTests.java
  5. 6
      spring-context-support/src/test/java/org/springframework/cache/ehcache/EhCacheCacheTests.java
  6. 30
      spring-context-support/src/test/java/org/springframework/scheduling/quartz/QuartzSupportTests.java
  7. 10
      spring-context/src/test/java/org/springframework/aop/aspectj/DeclareParentsTests.java
  8. 15
      spring-context/src/test/java/org/springframework/context/support/DefaultLifecycleProcessorTests.java
  9. 9
      spring-context/src/test/java/org/springframework/scheduling/annotation/AsyncExecutionTests.java
  10. 7
      spring-context/src/test/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessorTests.java
  11. 23
      spring-context/src/test/java/org/springframework/scheduling/concurrent/ScheduledExecutorFactoryBeanTests.java
  12. 12
      spring-context/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java
  13. 33
      spring-context/src/test/java/org/springframework/scripting/jruby/JRubyScriptFactoryTests.java
  14. 26
      spring-context/src/test/java/org/springframework/scripting/support/ScriptFactoryPostProcessorTests.java
  15. 6
      spring-core/src/test/java/org/springframework/core/type/CachingMetadataReaderLeakTest.java
  16. 13
      spring-core/src/test/java/org/springframework/tests/TestGroup.java
  17. 17
      spring-jdbc/src/test/java/org/springframework/jdbc/config/JdbcNamespaceIntegrationTests.java
  18. 6
      spring-jdbc/src/test/java/org/springframework/jdbc/datasource/DataSourceTransactionManagerTests.java
  19. 12
      spring-jdbc/src/test/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseBuilderTests.java

13
spring-aspects/src/test/java/org/springframework/scheduling/aspectj/AnnotationAsyncExecutionAspectTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -29,10 +29,11 @@ import org.springframework.core.task.SimpleAsyncTaskExecutor; @@ -29,10 +29,11 @@ import org.springframework.core.task.SimpleAsyncTaskExecutor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.AsyncResult;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.Matchers.startsWith;
import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.Matchers.not;
import static org.junit.Assert.*;
/**
@ -54,6 +55,8 @@ public class AnnotationAsyncExecutionAspectTests { @@ -54,6 +55,8 @@ public class AnnotationAsyncExecutionAspectTests {
@Test
public void asyncMethodGetsRoutedAsynchronously() {
Assume.group(TestGroup.PERFORMANCE);
ClassWithoutAsyncAnnotation obj = new ClassWithoutAsyncAnnotation();
obj.incrementAsync();
executor.waitForCompletion();
@ -84,6 +87,8 @@ public class AnnotationAsyncExecutionAspectTests { @@ -84,6 +87,8 @@ public class AnnotationAsyncExecutionAspectTests {
@Test
public void voidMethodInAsyncClassGetsRoutedAsynchronously() {
Assume.group(TestGroup.PERFORMANCE);
ClassWithAsyncAnnotation obj = new ClassWithAsyncAnnotation();
obj.increment();
executor.waitForCompletion();

15
spring-beans/src/test/java/org/springframework/beans/factory/ConcurrentBeanFactoryTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,10 +16,6 @@ @@ -16,10 +16,6 @@
package org.springframework.beans.factory;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import static test.util.TestResourceUtils.qualifiedResource;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@ -31,14 +27,21 @@ import java.util.Set; @@ -31,14 +27,21 @@ import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.PropertyEditorRegistrar;
import org.springframework.beans.PropertyEditorRegistry;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.core.io.Resource;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
import static test.util.TestResourceUtils.*;
/**
* @author Guillaume Poirier
@ -72,6 +75,8 @@ public final class ConcurrentBeanFactoryTests { @@ -72,6 +75,8 @@ public final class ConcurrentBeanFactoryTests {
@Before
public void setUp() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
new XmlBeanDefinitionReader(factory).loadBeanDefinitions(CONTEXT);
factory.addPropertyEditorRegistrar(new PropertyEditorRegistrar() {

6
spring-beans/src/test/java/org/springframework/beans/factory/support/BeanFactoryGenericsTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -44,6 +44,8 @@ import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; @@ -44,6 +44,8 @@ import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.beans.propertyeditors.CustomNumberEditor;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.UrlResource;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import test.beans.GenericBean;
import test.beans.GenericIntegerBean;
@ -641,6 +643,8 @@ public class BeanFactoryGenericsTests { @@ -641,6 +643,8 @@ public class BeanFactoryGenericsTests {
@Test
public void testSetBean() throws Exception {
Assume.group(TestGroup.LONG_RUNNING);
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
new XmlBeanDefinitionReader(bf).loadBeanDefinitions(
new ClassPathResource("genericBeanTests.xml", getClass()));

16
spring-beans/src/test/java/org/springframework/beans/support/PagedListHolderTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -18,18 +18,28 @@ package org.springframework.beans.support; @@ -18,18 +18,28 @@ package org.springframework.beans.support;
import java.util.ArrayList;
import java.util.List;
import junit.framework.TestCase;
import org.junit.Test;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
import test.beans.TestBean;
/**
* @author Juergen Hoeller
* @author Jean-Pierre PAWLAK
* @author Chris Beams
* @since 20.05.2003
*/
public class PagedListHolderTests extends TestCase {
public class PagedListHolderTests {
@Test
public void testPagedListHolder() {
Assume.group(TestGroup.LONG_RUNNING);
TestBean tb1 = new TestBean();
tb1.setName("eva");
tb1.setAge(25);

6
spring-context-support/src/test/java/org/springframework/cache/ehcache/EhCacheCacheTests.java vendored

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2010-2012 the original author or authors.
* Copyright 2010-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -20,10 +20,13 @@ import net.sf.ehcache.CacheManager; @@ -20,10 +20,13 @@ import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Ehcache;
import net.sf.ehcache.Element;
import net.sf.ehcache.config.CacheConfiguration;
import org.junit.Before;
import org.junit.Test;
import org.springframework.cache.Cache;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
@ -95,6 +98,7 @@ public class EhCacheCacheTests { @@ -95,6 +98,7 @@ public class EhCacheCacheTests {
@Test
public void testExpiredElements() throws Exception {
Assume.group(TestGroup.LONG_RUNNING);
String key = "brancusi";
String value = "constantin";
Element brancusi = new Element(key, value);

30
spring-context-support/src/test/java/org/springframework/scheduling/quartz/QuartzSupportTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -33,6 +33,7 @@ import java.util.Map; @@ -33,6 +33,7 @@ import java.util.Map;
import javax.sql.DataSource;
import org.junit.Ignore;
import org.junit.Test;
import org.quartz.CronTrigger;
import org.quartz.Job;
@ -382,15 +383,19 @@ public class QuartzSupportTests { @@ -382,15 +383,19 @@ public class QuartzSupportTests {
verify(scheduler).shutdown(false);
}
/*public void testMethodInvocationWithConcurrency() throws Exception {
@Ignore @Test
public void testMethodInvocationWithConcurrency() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
methodInvokingConcurrency(true);
}*/
}
// We can't test both since Quartz somehow seems to keep things in memory
// enable both and one of them will fail (order doesn't matter).
/*public void testMethodInvocationWithoutConcurrency() throws Exception {
@Ignore @Test
public void testMethodInvocationWithoutConcurrency() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
methodInvokingConcurrency(false);
}*/
}
private void methodInvokingConcurrency(boolean concurrent) throws Exception {
// Test the concurrency flag.
@ -637,6 +642,8 @@ public class QuartzSupportTests { @@ -637,6 +642,8 @@ public class QuartzSupportTests {
@Test
public void testSchedulerWithTaskExecutor() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
CountingTaskExecutor taskExecutor = new CountingTaskExecutor();
DummyJob.count = 0;
@ -668,6 +675,8 @@ public class QuartzSupportTests { @@ -668,6 +675,8 @@ public class QuartzSupportTests {
@Test
public void testSchedulerWithRunnable() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
DummyRunnable.count = 0;
JobDetail jobDetail = new JobDetailBean();
@ -696,6 +705,8 @@ public class QuartzSupportTests { @@ -696,6 +705,8 @@ public class QuartzSupportTests {
@Test
public void testSchedulerWithQuartzJobBean() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
DummyJob.param = 0;
DummyJob.count = 0;
@ -727,6 +738,8 @@ public class QuartzSupportTests { @@ -727,6 +738,8 @@ public class QuartzSupportTests {
@Test
public void testSchedulerWithSpringBeanJobFactory() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
DummyJob.param = 0;
DummyJob.count = 0;
@ -760,6 +773,7 @@ public class QuartzSupportTests { @@ -760,6 +773,7 @@ public class QuartzSupportTests {
@Test
public void testSchedulerWithSpringBeanJobFactoryAndParamMismatchNotIgnored() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
DummyJob.param = 0;
DummyJob.count = 0;
@ -794,6 +808,8 @@ public class QuartzSupportTests { @@ -794,6 +808,8 @@ public class QuartzSupportTests {
@Test
public void testSchedulerWithSpringBeanJobFactoryAndRunnable() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
DummyRunnable.param = 0;
DummyRunnable.count = 0;
@ -826,6 +842,7 @@ public class QuartzSupportTests { @@ -826,6 +842,7 @@ public class QuartzSupportTests {
@Test
public void testSchedulerWithSpringBeanJobFactoryAndQuartzJobBean() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
DummyJobBean.param = 0;
DummyJobBean.count = 0;
@ -858,6 +875,7 @@ public class QuartzSupportTests { @@ -858,6 +875,7 @@ public class QuartzSupportTests {
@Test
public void testSchedulerWithSpringBeanJobFactoryAndJobSchedulingData() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
DummyJob.param = 0;
DummyJob.count = 0;
@ -896,6 +914,7 @@ public class QuartzSupportTests { @@ -896,6 +914,7 @@ public class QuartzSupportTests {
@Test
public void testWithTwoAnonymousMethodInvokingJobDetailFactoryBeans() throws InterruptedException {
Assume.group(TestGroup.PERFORMANCE);
ClassPathXmlApplicationContext ctx =
new ClassPathXmlApplicationContext("/org/springframework/scheduling/quartz/multipleAnonymousMethodInvokingJobDetailFB.xml");
Thread.sleep(3000);
@ -915,6 +934,7 @@ public class QuartzSupportTests { @@ -915,6 +934,7 @@ public class QuartzSupportTests {
@Test
public void testSchedulerAccessorBean() throws InterruptedException {
Assume.group(TestGroup.PERFORMANCE);
ClassPathXmlApplicationContext ctx =
new ClassPathXmlApplicationContext("/org/springframework/scheduling/quartz/schedulerAccessorBean.xml");
Thread.sleep(3000);

10
spring-context/src/test/java/org/springframework/aop/aspectj/DeclareParentsTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,8 +16,6 @@ @@ -16,8 +16,6 @@
package org.springframework.aop.aspectj;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.springframework.aop.framework.Advised;
@ -26,9 +24,13 @@ import org.springframework.beans.ITestBean; @@ -26,9 +24,13 @@ import org.springframework.beans.ITestBean;
import org.springframework.beans.TestBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import test.mixin.Lockable;
import static org.junit.Assert.*;
/**
* @author Rod Johnson
* @author Chris Beams
@ -63,6 +65,8 @@ public final class DeclareParentsTests { @@ -63,6 +65,8 @@ public final class DeclareParentsTests {
// on the introduction, in which case this would not be a problem.
@Test
public void testLockingWorks() {
Assume.group(TestGroup.LONG_RUNNING);
Object introductionObject = ctx.getBean("introduction");
assertFalse("Introduction should not be proxied", AopUtils.isAopProxy(introductionObject));

15
spring-context/src/test/java/org/springframework/context/support/DefaultLifecycleProcessorTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -19,7 +19,6 @@ package org.springframework.context.support; @@ -19,7 +19,6 @@ package org.springframework.context.support;
import java.util.concurrent.CopyOnWriteArrayList;
import org.junit.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.config.BeanDefinition;
@ -27,6 +26,8 @@ import org.springframework.beans.factory.support.RootBeanDefinition; @@ -27,6 +26,8 @@ import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.context.Lifecycle;
import org.springframework.context.LifecycleProcessor;
import org.springframework.context.SmartLifecycle;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
@ -251,6 +252,8 @@ public class DefaultLifecycleProcessorTests { @@ -251,6 +252,8 @@ public class DefaultLifecycleProcessorTests {
@Test
public void smartLifecycleGroupShutdown() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
CopyOnWriteArrayList<Lifecycle> stoppedBeans = new CopyOnWriteArrayList<Lifecycle>();
TestSmartLifecycleBean bean1 = TestSmartLifecycleBean.forShutdownTests(1, 300, stoppedBeans);
TestSmartLifecycleBean bean2 = TestSmartLifecycleBean.forShutdownTests(3, 100, stoppedBeans);
@ -280,6 +283,8 @@ public class DefaultLifecycleProcessorTests { @@ -280,6 +283,8 @@ public class DefaultLifecycleProcessorTests {
@Test
public void singleSmartLifecycleShutdown() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
CopyOnWriteArrayList<Lifecycle> stoppedBeans = new CopyOnWriteArrayList<Lifecycle>();
TestSmartLifecycleBean bean = TestSmartLifecycleBean.forShutdownTests(99, 300, stoppedBeans);
StaticApplicationContext context = new StaticApplicationContext();
@ -386,6 +391,8 @@ public class DefaultLifecycleProcessorTests { @@ -386,6 +391,8 @@ public class DefaultLifecycleProcessorTests {
@Test
public void dependentShutdownFirstEvenIfItsPhaseIsLower() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
CopyOnWriteArrayList<Lifecycle> stoppedBeans = new CopyOnWriteArrayList<Lifecycle>();
TestSmartLifecycleBean beanMin = TestSmartLifecycleBean.forShutdownTests(Integer.MIN_VALUE, 100, stoppedBeans);
TestSmartLifecycleBean bean1 = TestSmartLifecycleBean.forShutdownTests(1, 200, stoppedBeans);
@ -458,6 +465,8 @@ public class DefaultLifecycleProcessorTests { @@ -458,6 +465,8 @@ public class DefaultLifecycleProcessorTests {
@Test
public void dependentShutdownFirstAndIsSmartLifecycle() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
CopyOnWriteArrayList<Lifecycle> stoppedBeans = new CopyOnWriteArrayList<Lifecycle>();
TestSmartLifecycleBean beanMin = TestSmartLifecycleBean.forShutdownTests(Integer.MIN_VALUE, 400, stoppedBeans);
TestSmartLifecycleBean beanNegative = TestSmartLifecycleBean.forShutdownTests(-99, 100, stoppedBeans);
@ -521,6 +530,8 @@ public class DefaultLifecycleProcessorTests { @@ -521,6 +530,8 @@ public class DefaultLifecycleProcessorTests {
@Test
public void dependentShutdownFirstButNotSmartLifecycle() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
CopyOnWriteArrayList<Lifecycle> stoppedBeans = new CopyOnWriteArrayList<Lifecycle>();
TestSmartLifecycleBean bean1 = TestSmartLifecycleBean.forShutdownTests(1, 200, stoppedBeans);
TestLifecycleBean simpleBean = TestLifecycleBean.forShutdownTests(stoppedBeans);

9
spring-context/src/test/java/org/springframework/scheduling/annotation/AsyncExecutionTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -20,6 +20,7 @@ import java.lang.annotation.Retention; @@ -20,6 +20,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.concurrent.Future;
import org.junit.Before;
import org.junit.Test;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
@ -28,6 +29,8 @@ import org.springframework.context.ApplicationEvent; @@ -28,6 +29,8 @@ import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
@ -43,6 +46,10 @@ public class AsyncExecutionTests { @@ -43,6 +46,10 @@ public class AsyncExecutionTests {
private static int listenerConstructed = 0;
@Before
public void setUp() {
Assume.group(TestGroup.PERFORMANCE);
}
@Test
public void asyncMethods() throws Exception {

7
spring-context/src/test/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessorTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -26,7 +26,6 @@ import java.util.List; @@ -26,7 +26,6 @@ import java.util.List;
import java.util.Properties;
import org.junit.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.config.BeanDefinition;
@ -37,6 +36,8 @@ import org.springframework.scheduling.config.CronTask; @@ -37,6 +36,8 @@ import org.springframework.scheduling.config.CronTask;
import org.springframework.scheduling.config.IntervalTask;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.ScheduledMethodRunnable;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
@ -130,6 +131,8 @@ public class ScheduledAnnotationBeanPostProcessorTests { @@ -130,6 +131,8 @@ public class ScheduledAnnotationBeanPostProcessorTests {
@Test
public void cronTask() throws InterruptedException {
Assume.group(TestGroup.LONG_RUNNING);
StaticApplicationContext context = new StaticApplicationContext();
BeanDefinition processorDefinition = new RootBeanDefinition(ScheduledAnnotationBeanPostProcessor.class);
BeanDefinition targetDefinition = new RootBeanDefinition(

23
spring-context/src/test/java/org/springframework/scheduling/concurrent/ScheduledExecutorFactoryBeanTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,15 +16,6 @@ @@ -16,15 +16,6 @@
package org.springframework.scheduling.concurrent;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
import static org.mockito.BDDMockito.willThrow;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ThreadFactory;
@ -32,6 +23,12 @@ import java.util.concurrent.ThreadFactory; @@ -32,6 +23,12 @@ import java.util.concurrent.ThreadFactory;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.core.task.NoOpRunnable;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
import static org.mockito.BDDMockito.*;
import static org.mockito.Mockito.*;
/**
* @author Rick Evans
@ -97,6 +94,8 @@ public class ScheduledExecutorFactoryBeanTests { @@ -97,6 +94,8 @@ public class ScheduledExecutorFactoryBeanTests {
@Test
public void testOneTimeExecutionIsSetUpAndFiresCorrectly() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
Runnable runnable = mock(Runnable.class);
ScheduledExecutorFactoryBean factory = new ScheduledExecutorFactoryBean();
@ -112,6 +111,8 @@ public class ScheduledExecutorFactoryBeanTests { @@ -112,6 +111,8 @@ public class ScheduledExecutorFactoryBeanTests {
@Test
public void testFixedRepeatedExecutionIsSetUpAndFiresCorrectly() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
Runnable runnable = mock(Runnable.class);
ScheduledExecutorTask task = new ScheduledExecutorTask(runnable);
@ -129,6 +130,8 @@ public class ScheduledExecutorFactoryBeanTests { @@ -129,6 +130,8 @@ public class ScheduledExecutorFactoryBeanTests {
@Test
public void testFixedRepeatedExecutionIsSetUpAndFiresCorrectlyAfterException() throws Exception {
Assume.group(TestGroup.PERFORMANCE);
Runnable runnable = mock(Runnable.class);
willThrow(new IllegalStateException()).given(runnable).run();

12
spring-context/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -32,6 +32,7 @@ import java.io.FileNotFoundException; @@ -32,6 +32,7 @@ import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Map;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.aop.support.AopUtils;
@ -53,6 +54,8 @@ import org.springframework.scripting.ScriptCompilationException; @@ -53,6 +54,8 @@ import org.springframework.scripting.ScriptCompilationException;
import org.springframework.scripting.ScriptSource;
import org.springframework.scripting.support.ScriptFactoryPostProcessor;
import org.springframework.stereotype.Component;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
/**
* @author Rob Harrop
@ -64,6 +67,11 @@ import org.springframework.stereotype.Component; @@ -64,6 +67,11 @@ import org.springframework.stereotype.Component;
*/
public class GroovyScriptFactoryTests {
@Before
public void setUp() {
Assume.group(TestGroup.LONG_RUNNING);
}
@Test
public void testStaticScript() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovyContext.xml", getClass());
@ -396,6 +404,8 @@ public class GroovyScriptFactoryTests { @@ -396,6 +404,8 @@ public class GroovyScriptFactoryTests {
@Test
public void testAnonymousScriptDetected() throws Exception {
Assume.group(TestGroup.LONG_RUNNING);
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovy-with-xsd.xml", getClass());
Map<?, Messenger> beans = ctx.getBeansOfType(Messenger.class);
assertEquals(4, beans.size());

33
spring-context/src/test/java/org/springframework/scripting/jruby/JRubyScriptFactoryTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -18,8 +18,8 @@ package org.springframework.scripting.jruby; @@ -18,8 +18,8 @@ package org.springframework.scripting.jruby;
import java.util.Map;
import junit.framework.TestCase;
import org.junit.Before;
import org.junit.Test;
import org.springframework.aop.support.AopUtils;
import org.springframework.aop.target.dynamic.Refreshable;
import org.springframework.beans.TestBean;
@ -31,13 +31,18 @@ import org.springframework.scripting.ConfigurableMessenger; @@ -31,13 +31,18 @@ import org.springframework.scripting.ConfigurableMessenger;
import org.springframework.scripting.Messenger;
import org.springframework.scripting.ScriptCompilationException;
import org.springframework.scripting.TestBeanAwareMessenger;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
/**
* @author Rob Harrop
* @author Rick Evans
* @author Juergen Hoeller
* @author Chris Beams
*/
public class JRubyScriptFactoryTests extends TestCase {
public class JRubyScriptFactoryTests {
private static final String RUBY_SCRIPT_SOURCE_LOCATOR =
"inline:require 'java'\n" +
@ -45,7 +50,12 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -45,7 +50,12 @@ public class JRubyScriptFactoryTests extends TestCase {
"end\n" +
"RubyBar.new";
@Before
public void setUp() {
Assume.group(TestGroup.LONG_RUNNING);
}
@Test
public void testStaticScript() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jrubyContext.xml", getClass());
Calculator calc = (Calculator) ctx.getBean("calculator");
@ -64,6 +74,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -64,6 +74,7 @@ public class JRubyScriptFactoryTests extends TestCase {
assertEquals("Message is incorrect", desiredMessage, messenger.getMessage());
}
@Test
public void testNonStaticScript() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jrubyRefreshableContext.xml", getClass());
Messenger messenger = (Messenger) ctx.getBean("messenger");
@ -81,6 +92,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -81,6 +92,7 @@ public class JRubyScriptFactoryTests extends TestCase {
assertEquals("Incorrect refresh count", 2, refreshable.getRefreshCount());
}
@Test
public void testScriptCompilationException() throws Exception {
try {
new ClassPathXmlApplicationContext("jrubyBrokenContext.xml", getClass());
@ -91,6 +103,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -91,6 +103,7 @@ public class JRubyScriptFactoryTests extends TestCase {
}
}
@Test
public void testCtorWithNullScriptSourceLocator() throws Exception {
try {
new JRubyScriptFactory(null, new Class<?>[]{Messenger.class});
@ -100,6 +113,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -100,6 +113,7 @@ public class JRubyScriptFactoryTests extends TestCase {
}
}
@Test
public void testCtorWithEmptyScriptSourceLocator() throws Exception {
try {
new JRubyScriptFactory("", new Class<?>[]{Messenger.class});
@ -109,6 +123,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -109,6 +123,7 @@ public class JRubyScriptFactoryTests extends TestCase {
}
}
@Test
public void testCtorWithWhitespacedScriptSourceLocator() throws Exception {
try {
new JRubyScriptFactory("\n ", new Class<?>[]{Messenger.class});
@ -118,6 +133,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -118,6 +133,7 @@ public class JRubyScriptFactoryTests extends TestCase {
}
}
@Test
public void testCtorWithNullScriptInterfacesArray() throws Exception {
try {
new JRubyScriptFactory(RUBY_SCRIPT_SOURCE_LOCATOR, null);
@ -127,6 +143,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -127,6 +143,7 @@ public class JRubyScriptFactoryTests extends TestCase {
}
}
@Test
public void testCtorWithEmptyScriptInterfacesArray() throws Exception {
try {
new JRubyScriptFactory(RUBY_SCRIPT_SOURCE_LOCATOR, new Class<?>[]{});
@ -136,6 +153,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -136,6 +153,7 @@ public class JRubyScriptFactoryTests extends TestCase {
}
}
@Test
public void testResourceScriptFromTag() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jruby-with-xsd.xml", getClass());
TestBean testBean = (TestBean) ctx.getBean("testBean");
@ -151,6 +169,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -151,6 +169,7 @@ public class JRubyScriptFactoryTests extends TestCase {
assertEquals(testBean, messengerByName.getTestBean());
}
@Test
public void testPrototypeScriptFromTag() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jruby-with-xsd.xml", getClass());
ConfigurableMessenger messenger = (ConfigurableMessenger) ctx.getBean("messengerPrototype");
@ -166,6 +185,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -166,6 +185,7 @@ public class JRubyScriptFactoryTests extends TestCase {
assertEquals("Byebye World!", messenger2.getMessage());
}
@Test
public void testInlineScriptFromTag() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jruby-with-xsd.xml", getClass());
Calculator calculator = (Calculator) ctx.getBean("calculator");
@ -173,6 +193,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -173,6 +193,7 @@ public class JRubyScriptFactoryTests extends TestCase {
assertFalse(calculator instanceof Refreshable);
}
@Test
public void testRefreshableFromTag() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jruby-with-xsd.xml", getClass());
Messenger messenger = (Messenger) ctx.getBean("refreshableMessenger");
@ -190,6 +211,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -190,6 +211,7 @@ public class JRubyScriptFactoryTests extends TestCase {
assertEquals(0, calc.add(2, -2));
}
@Test
public void testWithComplexArg() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jrubyContext.xml", getClass());
Printer printer = (Printer) ctx.getBean("printer");
@ -198,6 +220,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -198,6 +220,7 @@ public class JRubyScriptFactoryTests extends TestCase {
assertEquals(1, printable.count);
}
@Test
public void testWithPrimitiveArgsInReturnTypeAndParameters() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jrubyContextForPrimitives.xml", getClass());
PrimitiveAdder adder = (PrimitiveAdder) ctx.getBean("adder");
@ -211,6 +234,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -211,6 +234,7 @@ public class JRubyScriptFactoryTests extends TestCase {
assertEquals('c', adder.echo('c'));
}
@Test
public void testWithWrapperArgsInReturnTypeAndParameters() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jrubyContextForWrappers.xml", getClass());
WrapperAdder adder = (WrapperAdder) ctx.getBean("adder");
@ -266,6 +290,7 @@ public class JRubyScriptFactoryTests extends TestCase { @@ -266,6 +290,7 @@ public class JRubyScriptFactoryTests extends TestCase {
}
}
@Test
public void testAOP() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("jruby-aop.xml", getClass());
Messenger messenger = (Messenger) ctx.getBean("messenger");

26
spring-context/src/test/java/org/springframework/scripting/support/ScriptFactoryPostProcessorTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -17,7 +17,9 @@ @@ -17,7 +17,9 @@
package org.springframework.scripting.support;
import static org.mockito.Mockito.mock;
import junit.framework.TestCase;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.FatalBeanException;
import org.springframework.beans.factory.BeanFactory;
@ -28,12 +30,17 @@ import org.springframework.context.support.GenericApplicationContext; @@ -28,12 +30,17 @@ import org.springframework.context.support.GenericApplicationContext;
import org.springframework.scripting.Messenger;
import org.springframework.scripting.ScriptCompilationException;
import org.springframework.scripting.groovy.GroovyScriptFactory;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
/**
* @author Rick Evans
* @author Juergen Hoeller
* @author Chris Beams
*/
public class ScriptFactoryPostProcessorTests extends TestCase {
public class ScriptFactoryPostProcessorTests {
private static final String MESSAGE_TEXT = "Bingo";
@ -69,11 +76,17 @@ public class ScriptFactoryPostProcessorTests extends TestCase { @@ -69,11 +76,17 @@ public class ScriptFactoryPostProcessorTests extends TestCase {
" }\n" +
"}";
@Before
public void setUp() {
Assume.group(TestGroup.PERFORMANCE);
}
@Test
public void testDoesNothingWhenPostProcessingNonScriptFactoryTypeBeforeInstantiation() throws Exception {
assertNull(new ScriptFactoryPostProcessor().postProcessBeforeInstantiation(getClass(), "a.bean"));
}
@Test
public void testThrowsExceptionIfGivenNonAbstractBeanFactoryImplementation() throws Exception {
try {
new ScriptFactoryPostProcessor().setBeanFactory(mock(BeanFactory.class));
@ -83,6 +96,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase { @@ -83,6 +96,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase {
}
}
@Test
public void testChangeScriptWithRefreshableBeanFunctionality() throws Exception {
BeanDefinition processorBeanDefinition = createScriptFactoryPostProcessor(true);
BeanDefinition scriptedBeanDefinition = createScriptedGroovyBean();
@ -103,6 +117,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase { @@ -103,6 +117,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase {
assertEquals(EXPECTED_CHANGED_MESSAGE_TEXT, refreshedMessenger.getMessage());
}
@Test
public void testChangeScriptWithNoRefreshableBeanFunctionality() throws Exception {
BeanDefinition processorBeanDefinition = createScriptFactoryPostProcessor(false);
BeanDefinition scriptedBeanDefinition = createScriptedGroovyBean();
@ -123,6 +138,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase { @@ -123,6 +138,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase {
MESSAGE_TEXT, refreshedMessenger.getMessage());
}
@Test
public void testRefreshedScriptReferencePropagatesToCollaborators() throws Exception {
BeanDefinition processorBeanDefinition = createScriptFactoryPostProcessor(true);
BeanDefinition scriptedBeanDefinition = createScriptedGroovyBean();
@ -150,6 +166,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase { @@ -150,6 +166,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase {
assertEquals(EXPECTED_CHANGED_MESSAGE_TEXT, collaborator.getMessage());
}
@Test
public void testReferencesAcrossAContainerHierarchy() throws Exception {
GenericApplicationContext businessContext = new GenericApplicationContext();
businessContext.registerBeanDefinition("messenger", BeanDefinitionBuilder.rootBeanDefinition(StubMessenger.class).getBeanDefinition());
@ -165,11 +182,13 @@ public class ScriptFactoryPostProcessorTests extends TestCase { @@ -165,11 +182,13 @@ public class ScriptFactoryPostProcessorTests extends TestCase {
presentationCtx.refresh();
}
@Test
public void testScriptHavingAReferenceToAnotherBean() throws Exception {
// just tests that the (singleton) script-backed bean is able to be instantiated with references to its collaborators
new ClassPathXmlApplicationContext("org/springframework/scripting/support/groovyReferences.xml");
}
@Test
public void testForRefreshedScriptHavingErrorPickedUpOnFirstCall() throws Exception {
BeanDefinition processorBeanDefinition = createScriptFactoryPostProcessor(true);
BeanDefinition scriptedBeanDefinition = createScriptedGroovyBean();
@ -200,6 +219,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase { @@ -200,6 +219,7 @@ public class ScriptFactoryPostProcessorTests extends TestCase {
}
}
@Test
public void testPrototypeScriptedBean() throws Exception {
GenericApplicationContext ctx = new GenericApplicationContext();
ctx.registerBeanDefinition("messenger", BeanDefinitionBuilder.rootBeanDefinition(StubMessenger.class).getBeanDefinition());

6
spring-core/src/test/java/org/springframework/core/type/CachingMetadataReaderLeakTest.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -27,6 +27,8 @@ import org.springframework.core.io.UrlResource; @@ -27,6 +27,8 @@ import org.springframework.core.io.UrlResource;
import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
import org.springframework.core.type.classreading.MetadataReader;
import org.springframework.core.type.classreading.MetadataReaderFactory;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
/**
* Unit test checking the behaviour of {@link CachingMetadataReaderFactory under load.
@ -47,6 +49,8 @@ public class CachingMetadataReaderLeakTest { @@ -47,6 +49,8 @@ public class CachingMetadataReaderLeakTest {
@Test
public void testSignificantLoad() throws Exception {
Assume.group(TestGroup.LONG_RUNNING);
// the biggest public class in the JDK (>60k)
URL url = getClass().getResource("/java/awt/Component.class");
assertThat(url, notNullValue());

13
spring-core/src/test/java/org/springframework/tests/TestGroup.java

@ -26,12 +26,23 @@ import java.util.Set; @@ -26,12 +26,23 @@ import java.util.Set;
*
* @see Assume#group(TestGroup)
* @author Phillip Webb
* @author Chris Beams
*/
public enum TestGroup {
/**
* Performance related tests that may take a considerable time to run.
* Tests that take a considerable amount of time to run. Any test lasting longer than
* 500ms should be considered a candidate in order to avoid making the overall test
* suite too slow to run during the normal development cycle.
*/
LONG_RUNNING,
/**
* Performance-related tests that may fail unpredictably based on CPU profile and load.
* Any test using {@link Thread#sleep}, {@link Object#wait}, Spring's
* {@code StopWatch}, etc. should be considered a candidate as their successful
* execution is likely to be based on events occurring within a given time window.
*/
PERFORMANCE;

17
spring-jdbc/src/test/java/org/springframework/jdbc/config/JdbcNamespaceIntegrationTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,11 +16,6 @@ @@ -16,11 +16,6 @@
package org.springframework.jdbc.config;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import javax.sql.DataSource;
import org.junit.Rule;
@ -37,10 +32,16 @@ import org.springframework.jdbc.BadSqlGrammarException; @@ -37,10 +32,16 @@ import org.springframework.jdbc.BadSqlGrammarException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryBean;
import org.springframework.jdbc.datasource.init.DataSourceInitializer;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
/**
* @author Dave Syer
* @author Juergen Hoeller
* @author Chris Beams
*/
public class JdbcNamespaceIntegrationTests {
@ -49,6 +50,8 @@ public class JdbcNamespaceIntegrationTests { @@ -49,6 +50,8 @@ public class JdbcNamespaceIntegrationTests {
@Test
public void testCreateEmbeddedDatabase() throws Exception {
Assume.group(TestGroup.LONG_RUNNING);
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"org/springframework/jdbc/config/jdbc-config.xml");
assertCorrectSetup(context, "dataSource", "h2DataSource", "derbyDataSource");
@ -58,6 +61,8 @@ public class JdbcNamespaceIntegrationTests { @@ -58,6 +61,8 @@ public class JdbcNamespaceIntegrationTests {
@Test
public void testCreateEmbeddedDatabaseAgain() throws Exception {
// If Derby isn't cleaned up properly this will fail...
Assume.group(TestGroup.LONG_RUNNING);
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"org/springframework/jdbc/config/jdbc-config.xml");
assertCorrectSetup(context, "derbyDataSource");

6
spring-jdbc/src/test/java/org/springframework/jdbc/datasource/DataSourceTransactionManagerTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -39,6 +39,8 @@ import org.mockito.InOrder; @@ -39,6 +39,8 @@ import org.mockito.InOrder;
import org.springframework.dao.DataAccessResourceFailureException;
import org.springframework.jdbc.UncategorizedSQLException;
import org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import org.springframework.transaction.CannotCreateTransactionException;
import org.springframework.transaction.IllegalTransactionStateException;
import org.springframework.transaction.PlatformTransactionManager;
@ -845,6 +847,8 @@ public class DataSourceTransactionManagerTests { @@ -845,6 +847,8 @@ public class DataSourceTransactionManagerTests {
}
private void doTestTransactionWithTimeout(int timeout) throws Exception {
Assume.group(TestGroup.PERFORMANCE);
PreparedStatement ps = mock(PreparedStatement.class);
given(con.getAutoCommit()).willReturn(true);
given(con.prepareStatement("some SQL statement")).willReturn(ps);

12
spring-jdbc/src/test/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseBuilderTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2010 the original author or authors.
* Copyright 2002-2012 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,13 +16,15 @@ @@ -16,13 +16,15 @@
package org.springframework.jdbc.datasource.embedded;
import static org.junit.Assert.*;
import org.junit.Test;
import org.springframework.core.io.ClassRelativeResourceLoader;
import org.springframework.dao.DataAccessResourceFailureException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.init.CannotReadScriptException;
import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup;
import static org.junit.Assert.*;
/**
* @author Keith Donald
@ -59,6 +61,8 @@ public class EmbeddedDatabaseBuilderTests { @@ -59,6 +61,8 @@ public class EmbeddedDatabaseBuilderTests {
@Test
public void testBuildDerby() {
Assume.group(TestGroup.LONG_RUNNING);
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(new ClassRelativeResourceLoader(getClass()));
EmbeddedDatabase db = builder.setType(EmbeddedDatabaseType.DERBY).addScript("db-schema-derby.sql").addScript("db-test-data.sql").build();
assertDatabaseCreatedAndShutdown(db);
@ -81,4 +85,4 @@ public class EmbeddedDatabaseBuilderTests { @@ -81,4 +85,4 @@ public class EmbeddedDatabaseBuilderTests {
db.shutdown();
}
}
}

Loading…
Cancel
Save