1 /** 2 * Copyright 2003-2006 Greg Luck 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package net.sf.ehcache; 18 19 import junit.framework.TestCase; 20 21 import java.io.IOException; 22 import java.io.File; 23 24 /** 25 * Common fields and methods required by most test cases 26 * 27 * @author <a href="mailto:gluck@thoughtworks.com">Greg Luck</a> 28 * @version $Id: AbstractCacheTest.java 28 2006-04-15 05:12:32Z gregluck $ 29 */ 30 public abstract class AbstractCacheTest extends TestCase { 31 32 /** 33 * Where the config is 34 */ 35 public static final String SRC_CONFIG_DIR = "src/main/config/"; 36 /** 37 * Where the test config is 38 */ 39 public static final String TEST_CONFIG_DIR = "src/test/resources/"; 40 41 42 /** 43 * Where the test classes are compiled. 44 */ 45 public static final String TEST_CLASSES_DIR = "target/test-classes/"; 46 47 /** 48 * name for sample cache 1 49 */ 50 protected final String sampleCache1 = "sampleCache1"; 51 /** 52 * name for sample cache 2 53 */ 54 protected final String sampleCache2 = "sampleCache2"; 55 /** 56 * the CacheManager instance 57 */ 58 protected CacheManager manager; 59 60 /** 61 * setup test 62 */ 63 protected void setUp() throws Exception { 64 manager = CacheManager.create(); 65 } 66 67 /** 68 * teardown 69 */ 70 protected void tearDown() throws Exception { 71 manager.shutdown(); 72 } 73 74 75 /** 76 * @param name 77 * @throws IOException 78 */ 79 protected void deleteFile(String name) throws IOException { 80 String diskPath = System.getProperty("java.io.tmpdir"); 81 final File diskDir = new File(diskPath); 82 File dataFile = new File(diskDir, name + ".data"); 83 if (dataFile.exists()) { 84 dataFile.delete(); 85 } 86 File indexFile = new File(diskDir, name + ".index"); 87 if (indexFile.exists()) { 88 indexFile.delete(); 89 } 90 } 91 92 /** 93 * Measure memory used by the VM. 94 * 95 * @return 96 * @throws InterruptedException 97 */ 98 protected long measureMemoryUse() throws InterruptedException { 99 System.gc(); 100 Thread.sleep(3000); 101 System.gc(); 102 return Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); 103 } 104 }