My two cents, too:
Cedric Wrote:
(1) It's not necessary to delete a testing project so long as you can guarantee project name uniqueness. However, personally, I prefer everyone clean his own mess after the test, so that the system state is the same both before and after the test.
This issue is valid, but can be considered as a "valid will not fix". Cedric is right that you can delete a project if you want. (Also note that there is a "TestTelemetryChartAnalysis-TestingProject" that exists in the user.project.doc after a freshStart junitAll, which is created from the serverside version of the createTestProject method). But, his comments are a little misleading. It turns out in our Hackystat build process we run Junit with forking turned on and the forkmode is defaulted to perTest. This means that each test case class has a new JVM. Therefore, each test case class should receive a brand new empty Project collection for the testdataset user (at least for client side tests). Of course forking can be configurable, therefore Cedric's point is also and still valid.
I think I wrote this review comment, therefore my intention was to explain that you're not _required_ to delete the test client side project. And I wasn't sure if you knew that. Judging from your "My comment", i think I was correct.
A side note about your "My Comment": The fact that the code was copied from another location does not make it correct. From my experience in working with CLEW programmers, it seems to me that "Copying" is almost always the easiest way to spread bugs/misunderstandings in a system. For example, in my refactorings of CLEW, I would find a bug in code that I've written and find that every other CLEW developer copied and pasted that same bug in pretty much every possible location. I'm not against copying per se, but copying blindly is what I don't like. It almost seems like it decreases the level of imagination some how. In this particular case, we are not spreading bugs; just a potential misunderstanding.
thanks, aaron
Burt Wrote:
Review comment: "The javadoc for the createTestProjectClientSide method you're using does not explicity say this, but i think that you do not _have_ to delete client side test projects."
Relevant code: protected void tearDown() throws Exception { ProjectManager.getInstance().deleteProject( this.testProjectGhostName); }
My comment: I copied this implementation structure from another reducer test case that I did not author. <<<<<<<<<<<<<<<<<
