You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by rm...@apache.org on 2014/11/27 11:37:54 UTC

svn commit: r1642077 - in /incubator/sirona/trunk/agent/javaagent/src: main/java/org/apache/sirona/javaagent/ test/java/org/apache/sirona/javaagent/

Author: rmannibucau
Date: Thu Nov 27 10:37:54 2014
New Revision: 1642077

URL: http://svn.apache.org/r1642077
Log:
adding @Before/@AfterFork

Added:
    incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/AfterFork.java
    incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/BeforeFork.java
Modified:
    incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaAgent.java
    incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/JavaAgentRunner.java

Modified: incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaAgent.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaAgent.java?rev=1642077&r1=1642076&r2=1642077&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaAgent.java (original)
+++ incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaAgent.java Thu Nov 27 10:37:54 2014
@@ -74,7 +74,6 @@ public class SironaAgent {
                     for (final File f : children) {
                         if (!f.isDirectory()) {
                             try {
-                                System.out.println("load file:" + f.getPath());
                                 instrumentation.appendToBootstrapClassLoaderSearch(new JarFile(f));
                             } catch (final IOException e) {
                                 e.printStackTrace();

Added: incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/AfterFork.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/AfterFork.java?rev=1642077&view=auto
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/AfterFork.java (added)
+++ incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/AfterFork.java Thu Nov 27 10:37:54 2014
@@ -0,0 +1,27 @@
+/*
+ * 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.sirona.javaagent;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface AfterFork {
+}

Added: incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/BeforeFork.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/BeforeFork.java?rev=1642077&view=auto
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/BeforeFork.java (added)
+++ incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/BeforeFork.java Thu Nov 27 10:37:54 2014
@@ -0,0 +1,27 @@
+/*
+ * 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.sirona.javaagent;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface BeforeFork {
+}

Modified: incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/JavaAgentRunner.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/JavaAgentRunner.java?rev=1642077&r1=1642076&r2=1642077&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/JavaAgentRunner.java (original)
+++ incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/JavaAgentRunner.java Thu Nov 27 10:37:54 2014
@@ -21,6 +21,8 @@ import org.apache.commons.lang3.text.Str
 import org.apache.sirona.repositories.Repository;
 import org.junit.Ignore;
 import org.junit.internal.TextListener;
+import org.junit.internal.runners.statements.RunAfters;
+import org.junit.internal.runners.statements.RunBefores;
 import org.junit.runner.Description;
 import org.junit.runner.JUnitCore;
 import org.junit.runner.Result;
@@ -80,7 +82,7 @@ public class JavaAgentRunner extends Blo
 
     @Override
     protected Statement classBlock(final RunNotifier notifier) {
-        return new Statement() {
+        Statement statement = new Statement() {
             @Override
             public void evaluate() throws Throwable {
                 for (final FrameworkMethod mtd : getChildren()) {
@@ -101,6 +103,12 @@ public class JavaAgentRunner extends Blo
                 }
             }
         };
+
+        final List<FrameworkMethod> befores = getTestClass() .getAnnotatedMethods(BeforeFork.class);
+        statement = befores.isEmpty() ? statement : new RunBefores(statement, befores, null);
+        final List<FrameworkMethod> afters = getTestClass() .getAnnotatedMethods(AfterFork.class);
+        statement = befores.isEmpty() ? statement : new RunAfters(statement, afters, null);
+        return statement;
     }
 
     private void executeMethod(final FrameworkMethod mtd, final Description description, final RunNotifier notifier) throws IOException, InterruptedException {