You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by tc...@apache.org on 2005/08/14 17:07:59 UTC

svn commit: r232615 - in /jakarta/commons/sandbox/jci/trunk: ./ src/test/org/apache/commons/jci/ src/test/org/apache/commons/jci/monitor/ src/test/org/apache/commons/jci/readers/ src/test/org/apache/commons/jci/stores/

Author: tcurdt
Date: Sun Aug 14 08:07:48 2005
New Revision: 232615

URL: http://svn.apache.org/viewcvs?rev=232615&view=rev
Log:
more testcases


Added:
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/readers/
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/readers/FileResourceReaderTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/TransactinonalResourceStoreTestCase.java
Modified:
    jakarta/commons/sandbox/jci/trunk/TODO
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/ReloadingClassLoaderTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java

Modified: jakarta/commons/sandbox/jci/trunk/TODO
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/TODO?rev=232615&r1=232614&r2=232615&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/TODO (original)
+++ jakarta/commons/sandbox/jci/trunk/TODO Sun Aug 14 08:07:48 2005
@@ -1,8 +1,10 @@
 o integrate just4log into the build system
-o subscribing to compiler events
-o monitor multiple repositories
 o compiler factory
 o compiler implementations
   o groovy
   o embedded java compiler
   o javac 
+  o jikes
+o transformation "pipelines"
+o make suffixes matching (*.java, *.class) configurable
+o documentation

Modified: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java?rev=232615&r1=232614&r2=232615&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java Sun Aug 14 08:07:48 2005
@@ -152,6 +152,7 @@
     }
 
     protected void tearDown() throws Exception {
+        cl.removeListener(listener);
         cl.stop();
         super.tearDown();
     }

Modified: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/ReloadingClassLoaderTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/ReloadingClassLoaderTestCase.java?rev=232615&r1=232614&r2=232615&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/ReloadingClassLoaderTestCase.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/ReloadingClassLoaderTestCase.java Sun Aug 14 08:07:48 2005
@@ -16,29 +16,137 @@
 package org.apache.commons.jci;
 
 import java.io.File;
-import junit.framework.TestCase;
+import org.apache.commons.jci.compilers.Programs;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 
-public final class ReloadingClassLoaderTestCase extends TestCase {
+public final class ReloadingClassLoaderTestCase extends AbstractTestCase {
+
+    private final static Log log = LogFactory.getLog(ReloadingClassLoaderTestCase.class);
+    
+    private final Signal reload = new Signal();
 
     private ReloadingClassLoader cl;
-    private File repository;
+    private ReloadingClassLoaderListener listener;
     
     protected void setUp() throws Exception {
+        super.setUp();
+        
+        listener = new ReloadingClassLoaderListener() {
+            public void reload() {
+                synchronized(reload) {
+                    reload.triggered = true;
+                    reload.notify();
+                }
+            }
+        };
+
+        cl = new ReloadingClassLoader(this.getClass().getClassLoader(), directory);
+        cl.addListener(listener);
+        cl.start();
+    }
+
+    private void initialCompile() throws Exception {
+        delay();
+        
+        // writeFile
+        // compile file
+        
+        waitForSignal(reload);
+
+        writeFile("jci/Simple.class",
+                Programs.simple
+        );
+        
+        waitForSignal(reload);
+    }
+    
+    
+    public void testCreate() throws Exception {
+        initialCompile();
+        
+        Object o;
+        
+        o = cl.loadClass("jci.Simple").newInstance();        
+        assertTrue("Simple".equals(o.toString()));        
     }
 
+    public void testChange() throws Exception {        
+        initialCompile();
 
-    public void testCreate() {
+        Object o;
+        
+        o = cl.loadClass("jci.Simple").newInstance();        
+        assertTrue("Simple".equals(o.toString()));
+        
+        writeFile("jci/Simple.java",
+                Programs.SIMPLE
+        );
+
+        waitForSignal(reload);
+    
+        o = cl.loadClass("jci.Simple").newInstance();        
+        assertTrue("SIMPLE".equals(o.toString()));        
     }
 
-    public void testChange() {        
+    public void testDelete() throws Exception {
+        initialCompile();
+
+        Object o;
+        
+        o = cl.loadClass("jci.Simple").newInstance();        
+        assertTrue("Simple".equals(o.toString()));
+        
+        assertTrue(new File(directory, "jci/Simple.java").delete());
+        
+        waitForSignal(reload);
+
+        try {
+            o = cl.loadClass("jci.Simple").newInstance();        
+            fail();
+        } catch(final ClassNotFoundException e) {
+        }
+        
     }
 
-    public void testDelete() {        
+    public void testDeleteDependency() throws Exception {        
+        initialCompile();
+
+        Object o;
+        
+        o = cl.loadClass("jci.Simple").newInstance();        
+        assertTrue("Simple".equals(o.toString()));
+        
+        o = cl.loadClass("jci.Extended").newInstance();        
+        assertTrue("Extended:Simple".equals(o.toString()));
+        
+        assertTrue(new File(directory, "jci/Simple.class").delete());
+        
+        waitForSignal(reload);
+
+        try {
+            o = cl.loadClass("jci.Extended").newInstance();
+            fail();
+        } catch(final NoClassDefFoundError e) {
+            assertTrue("jci/Simple".equals(e.getMessage()));
+        }
+        
     }
 
+    public void testClassNotFound() {
+        try {
+            Object o = cl.loadClass("bla");
+            fail();
+        } catch(final ClassNotFoundException e) {
+            log.info(e.getMessage());
+        }
+    }
     
     protected void tearDown() throws Exception {
+        cl.removeListener(listener);
+        cl.stop();
+        super.tearDown();
     }
-
+    
 }

Modified: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java?rev=232615&r1=232614&r2=232615&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java Sun Aug 14 08:07:48 2005
@@ -254,4 +254,16 @@
         assertTrue(directory.lastModified() == modified);
     }
     
+    public void testInterval() throws Exception {
+        start();
+        fam.setInterval(1000);
+        stop();
+    }
+    
+    public void testListener() throws Exception {
+        start();
+        fam.removeListener(listener);
+        stop();
+    }
+    
 }

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/readers/FileResourceReaderTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/readers/FileResourceReaderTestCase.java?rev=232615&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/readers/FileResourceReaderTestCase.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/readers/FileResourceReaderTestCase.java Sun Aug 14 08:07:48 2005
@@ -0,0 +1,19 @@
+package org.apache.commons.jci.readers;
+
+import org.apache.commons.jci.AbstractTestCase;
+
+
+public final class FileResourceReaderTestCase extends AbstractTestCase {
+    public void testGetContent() throws Exception {
+        final ResourceReader reader = new FileResourceReader(directory);
+        writeFile("test", "test");
+
+        assertTrue(reader.isAvailable("test"));
+        final char[] content = reader.getContent("test");
+        assertTrue(content != null);
+        assertTrue("test".equals(new String(content)));        
+
+        assertTrue(!reader.isAvailable("bla"));
+        assertTrue(reader.getContent("bla") == null);
+    }
+}

Modified: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java?rev=232615&r1=232614&r2=232615&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java Sun Aug 14 08:07:48 2005
@@ -23,6 +23,9 @@
         final ResourceStore store = new FileResourceStore(directory);
         super.testStore(store);
     }
+
+    public void testFailedStore() {
+    }
     
     public void testRemove() {
         final ResourceStore store = new FileResourceStore(directory);

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/TransactinonalResourceStoreTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/TransactinonalResourceStoreTestCase.java?rev=232615&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/TransactinonalResourceStoreTestCase.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/TransactinonalResourceStoreTestCase.java Sun Aug 14 08:07:48 2005
@@ -0,0 +1,42 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.commons.jci.stores;
+
+
+
+public final class TransactinonalResourceStoreTestCase extends AbstractStoreTestCase {
+
+    public void testStore() {
+        final TransactionalResourceStore store = new TransactionalResourceStore(new MemoryResourceStore()) {
+            public void onStart() {
+            }
+            public void onStop() {
+            }
+        };
+        super.testStore(store);
+        assertTrue("[key]".equals(store.toString()));
+    }
+    
+    public void testRemove() {
+        final TransactionalResourceStore store = new TransactionalResourceStore(new MemoryResourceStore()) {
+            public void onStart() {
+            }
+            public void onStop() {
+            }
+        };
+        super.testRemove(store);
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org