This week went okay for the first week. I'm not really behind, although I would like to go faster next week.<div><br></div><div>Succeeded.</div><div>1. Tested out several frameworks (by building sample tests)</div><div>
i. GTest</div><div>ii. PyUnit</div><div>iii. Hashcode tests (using the pyunit framework to aggregate the tests).</div><div><br></div><div>2. Started developing a python test module, which can be found by using import test.</div>
<div>i. Module contains 3 parts</div><div>a. tests.scenes</div><div>b. tests.meshes</div><div>c. tests.objects</div><div>ii. These are essentially helper methods for getting a hashcode(), or clearing all of the scenes/objects/meshes</div>
<div><br></div><div>3. Aggregated all of the tests using CTest.</div><div>i. Currently though, all of the pyunit tests have to pass regular expression OK to pass. That could potentially be problematic, but to return codes to work, I would have to break the python script, by making failures return different codes.</div>
<div>ii. GTest based tests work fine with return codes.</div><div>iii. Currently, all tests are added in their directories CMakeLists.txt file, perhaps it would be prudent to add them all to one file, and leave those directories out of the project.</div>
<div>iv. Also, the python based test rely upon typing in a command, which assumes the user hasn't moved the source directory.</div><div>v. make test can be run to run the test suite demo, alternatively, running ctest in the test directory will run the tests without making anything.</div>
<div><br></div><div>4. Did preliminary work with PIL, which also looks promising for comparing scenes as apposed to hash codes.</div><div><br></div><div>5. Took a look at using CDash for visual aggregation to blender. Little on this front though.</div>
<div><br></div><div>6. Caused a few debates to be made on #blendercoders about the type of tests needed, in particular, dumb 'catch all' tests vs. a few strategically placed tests. Still not sure which is better though, so I'm working on both.</div>
<div><br></div><div>Unresolved Problems:</div><div>1. Moderate Priority - While most of the libraries of the current blender source directory will work fine, for some reason, functions in BLI_path_util.h, specifically BLI_char_switch() do not work properly, and will cause the code to fail to compile. Every other tested function works. Only fails with GCC, MSVC works fine. No other compilers tested.</div>
<div><br></div><div>Plans for next week:</div><div>1. More dabbles with GTest, some time to be spent to unresolved problem #1.</div><div><br></div><div>2. Adding several more helper methods to the tests module. To be useful for automated unit test creation.</div>
<div><br></div><div>3. More dabbling into CDash</div><div><br></div><div>4. Removing the hard coded hashes for the hash test, make it a text file, then possibly adding functions to change the hashes, if blender changes.</div>
<div>i. Research should also be done to ensure all changes were intended, and no unintended changes crept under the radar.</div><div><br></div><div>5. Some clean up of the tests directory, and code in there.</div><div>
<br>
</div><div>6. Actually adding more tests, this should be easier after #2 is completed.</div><div><br clear="all">~Leif Andersen<br><br>----------<br>That was easy: <a href="http://www.appbrain.com/app/net.leifandersen.mobile.android.easybutton" target="_blank">http://www.appbrain.com/app/net.leifandersen.mobile.android.easybutton</a><br>
<br><br><div class="gmail_quote">On Fri, May 28, 2010 at 09:24, Rohith B.V. <span dir="ltr"><<a href="mailto:rohith291991@gmail.com" target="_blank">rohith291991@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This Week:<br><br>1) Edited relevant files to make a dummy modifier called "Quadrangulate".<br><br>2) Checked out the CoMiSo module which is used to solve mixed integer problems.<br><br>3) Decided to make my own mixed integer solver, basing it off CoMiSo.<br>
<br>4) Planned on using Eigen2 for this as it already exists in the blender trunk.<br><br>5) Studied the code and documentation of Eigen2 and acquired thorough understanding of its working.<br><br>6) Implemented a simple sparse cholesky solver using Eigen2. Also made some empty functions to be filled later.<br>
<br>Next Week:<br><br>1) Hopefully complete the Mixed Integer solver module. This includes Gauss Seidel, Conjugate Gradient and Cholesky modules.<br><br>2) Integrate above module into the above dummy "Quadrangulate" modifier.<br>
<br><br>So far no issues. Speed has been OK but will pick up next week onwards, since I don't have to read too much documentation.<br>
<br>_______________________________________________<br>
Soc-2010-dev mailing list<br>
<a href="mailto:Soc-2010-dev@blender.org" target="_blank">Soc-2010-dev@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/soc-2010-dev" target="_blank">http://lists.blender.org/mailman/listinfo/soc-2010-dev</a><br>
<br></blockquote></div><br>
</div>