]> source.dussan.org Git - aspectj.git/commitdiff
Make MoveInstructionsWeaveTestCase.testFancyHello pass when run twice
authorAlexander Kriegisch <Alexander@Kriegisch.name>
Sat, 13 Mar 2021 08:07:07 +0000 (15:07 +0700)
committerAlexander Kriegisch <Alexander@Kriegisch.name>
Sat, 13 Mar 2021 08:07:07 +0000 (15:07 +0700)
Reset counter, just in case this test runs multiple times in one JVM.
This can happen e.g. due to "run all tests" in IntelliJ IDEA, which
directly runs this test class and als WeaverModuleTests, both of which
implement junit.framework.TestCase. In that case, during the second run
the counter would start at a higher base count, making the 2nd test run
fail.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
weaver/src/test/java/org/aspectj/weaver/bcel/MoveInstructionsWeaveTestCase.java

index bd7c2ae656b3a1b0174ee5dc27e8a0edf2b55559..da3e9f79ecb1c58017b3801113db14f6a84dcd9e 100644 (file)
@@ -1,13 +1,13 @@
 /* *******************************************************************
  * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     PARC     initial implementation 
+ * All rights reserved.
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     PARC     initial implementation
  * ******************************************************************/
 
 package org.aspectj.weaver.bcel;
@@ -55,6 +55,11 @@ public class MoveInstructionsWeaveTestCase extends WeaveTestCase {
        static int counter = 0;
 
        public void testFancyHello() throws IOException {
+               // Reset counter, just in case this test runs multiple times in one JVM. This can happen e.g. due to "run all tests"
+               // in IntelliJ IDEA, which directly runs this test class and als WeaverModuleTests, both of which implement
+               // junit.framework.TestCase. In that case, during the second run the counter would start at a higher base count,
+               // making the 2nd test run fail.
+               counter = 0;
                BcelAdvice p = new BcelAdvice(null, makePointcutAll(), null, 0, -1, -1, null, null) {
                        public void specializeOn(Shadow s) {
                                super.specializeOn(s);
@@ -63,7 +68,7 @@ public class MoveInstructionsWeaveTestCase extends WeaveTestCase {
 
                        public boolean implementOn(Shadow s) {
                                BcelShadow shadow = (BcelShadow) s;
-                               LazyMethodGen newMethod = 
+                               LazyMethodGen newMethod =
                                                shadow.extractShadowInstructionsIntoNewMethod(NameMangler.getExtractableName(shadow
                                                .getSignature())
                                                + "_extracted" + counter++, 0, this.getSourceLocation(), new ArrayList(),shadow.getEnclosingClass().isInterface());