[
https://issues.apache.org/jira/browse/GEODE-8285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17142501#comment-17142501
]
Louis R. Jacome commented on GEODE-8285:
----------------------------------------
After looking at this issue more closely, another bug was found where the test
generated files (e.g. 'actualDataSerializables.dat') was not being created in
the build directory when the test was ran using IntelliJ. Rather, test
generated files were being placed within <geode-module>/src, for example
"geode/geode-core/src/actualDataSerializables.dat".
> Serializables Sanctioning Prescribes Wrong Destination Path
> -----------------------------------------------------------
>
> Key: GEODE-8285
> URL: https://issues.apache.org/jira/browse/GEODE-8285
> Project: Geode
> Issue Type: Bug
> Components: tools
> Reporter: Bill Burcham
> Assignee: Bill Burcham
> Priority: Major
> Labels: starter
>
> Serializable analysis classes derived from
> {{AnalyzeSerializablesJUnitTestBase}}, intend to inform the developer to copy
> a generated {{excludedClasses.txt}} file over a
> {{sanctionedDataSerializables.txt}} in a _resources_ directory. The paths can
> get long and complicated so it's nice that the analyzers provide the paths,
> ostensibly so that a developer can simply copy them into a {{cp}} line at the
> terminal.
> There is a problem with one of the paths, at least as generated by
> {{AnalyzeCoreSerializablesJUnitTest}}, but also, I suspect in all the classes
> derived from {{AnalyzeSerializablesJUnitTestBase}}. Here is an example of the
> output generated by the former…
> I ran:
> {noformat}
> ± |feature/GEODE-8240-version-ordinal-type → Bill {3} ✓| → ./gradlew
> :geode-core:integrationTest --tests=AnalyzeCoreSerializablesJUnitTest
> {noformat}
> and it output:
> {noformat}
> If the class is not persisted or sent over the wire add it to the file
> /Users/bburcham/Projects/geode/geode-core/build/resources/integrationTest/org/apache/geode/codeAnalysis/excludedClasses.txt
> Otherwise if this doesn't break backward compatibility, copy the file
> /Users/bburcham/Projects/geode/geode-core/build/integrationTest/actualDataSerializables.dat
> to
> /Users/bburcham/Projects/geode/geode-core/build/resources/integrationTest/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt.
> {noformat}
> so ostensibly I should:
> {noformat}
> cp
> /Users/bburcham/Projects/geode/geode-core/build/integrationTest/actualDataSerializables.dat
>
> /Users/bburcham/Projects/geode/geode-core/build/resources/integrationTest/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
> {noformat}
> But in fact the destination is wrong! Notice that it is a {{.../build/...}}
> directory?!?
> What I really needed was:
> {noformat}
> cp
> /Users/bburcham/Projects/geode/geode-core/build/integrationTest/actualDataSerializables.dat
>
> /Users/bburcham/Projects/geode/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
> {noformat}
> The prefix on the second path was:
> {noformat}
> /Users/bburcham/Projects/geode/geode-core/build/resources
> {noformat}
> but needed to be:
> {noformat}
> /Users/bburcham/Projects/geode/geode-core/src/integrationTest/resources
> {noformat}
> h2. Reproduction
> To reproduce this, modify some {{toData}} on some serializable class in the
> {{geode-core}} module e.g. {{RegionVersionVector}}, by adding some innocuous
> code like:
> {code}
> System.out.println("hi!");
> {code}
> And then run:
> {noformat}
> $ ./gradlew :geode-core:integrationTest
> --tests=AnalyzeCoreSerializablesJUnitTest
> {noformat}
> You'll see the an advice block like the one I provided above and you'll see
> the incorrect destination directory.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)