Patrick Rhomberg created GEODE-5241:
---------------------------------------

             Summary: AnalyzeSerializablesJUnitTest reports incorrect location 
to update sanctioned serializables
                 Key: GEODE-5241
                 URL: https://issues.apache.org/jira/browse/GEODE-5241
             Project: Geode
          Issue Type: Task
            Reporter: Patrick Rhomberg


This test uses the {{<geode module>/out/production/resources}} version of the 
sanctioned serializables list.  In the event that this file needs to be 
updated, the error output directs the developer to overwrite this untracked 
{{/out/}} file, rather than the tracked {{/src/}} file.  Additionally, 
overwriting the {{/out/}} will see subsequent runs pass has the potential for a 
successful testing build, but will cause errors down the road for other 
developers.

Example output for {{AnalyzeSerializablesJIUnitTest::testSerializables}}, 
wherein I have arbitrarily marked a gfsh command class {{Serializable}}.  The 
sanctioned list is actually 
{{<geode>/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt}}

{noformat}
java.lang.AssertionError: New or moved 
classes----------------------------------------
org/apache/geode/management/internal/cli/commands/DestroyAsyncEventQueueCommand,false


If the class is not persisted or sent over the wire add it to the file 
/Users/prhomberg/workspace/geode/geode-core/out/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt
Otherwise if this doesn't break backward compatibility, copy the file 
/my/path/to/geode/geode-core/actualSerializables.dat to 
/my/path/to/geode/geode-core/out/production/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt.

        at 
org.apache.geode.codeAnalysis.AnalyzeSerializablesJUnitTest.testSerializables(AnalyzeSerializablesJUnitTest.java:201)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
        at 
com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
        at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
        at 
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to