<div dir="ltr">Kristian,<div><br></div><div>Thanks for the overview!</div><div><br></div><div>Turns out it is super easy to wrap gie and use it in my bazel world.  Just required the python below.  When it fails, the error message isn&#39;t pretty, but that&#39;s for another day :)</div><div><br></div><div>-kurt</div><div><br></div><div><div>class GigsTest(googletest.TestCase):</div><div><br></div><div>  def setUp(self):</div><div>    self.gie = os.path.join(resources.GetARootDirWithAllResources(),</div><div>                            &#39;third_party/proj4/gie&#39;)</div><div><br></div><div>  def testAll(self):</div><div>    glob_path = os.path.join(FLAGS.test_srcdir,</div><div>                             &#39;third_party/proj4/proj/test/gigs&#39;, &#39;*.gie&#39;)</div><div>    gie_files = glob.glob(glob_path)</div><div>    self.assertTrue(gie_files)</div><div>    for filepath in gie_files:</div><div>      cmd = [self.gie, filepath]</div><div>      result = subprocess.check_output(cmd, stderr=subprocess.STDOUT)</div><div>      self.assertIn(&#39;0 tests failed&#39;, result)</div><div><br></div><div><br></div><div>if __name__ == &#39;__main__&#39;:</div><div>  unittest.main()</div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 8, 2018 at 3:44 AM, Kristian Evers <span dir="ltr">&lt;<a href="mailto:kreve@sdfe.dk" target="_blank">kreve@sdfe.dk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="DA" link="blue" vlink="purple">
<div class="m_-8987198604508558865WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Hi Kurt,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Very cool to increase the testing effort. Thanks!<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Testing is still a bit of a mess, although with the gie test program we’ve come a long way.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">There’s not much documentation on this yet (contributions welcome :-)). The best source<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">right now is the Travis setup I guess. See that for details. I’ll try to give a brief explanation<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">of what’s going on.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">There’s tests in two places in the source tree at the moment. In nad/ and in test/. The tests<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">in nad/ are from way back when and are made up of a set of shell scripts that call cs2cs<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">and checks the results by diff’ing the output towards an existing “solution”. The other tests<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">in test/ are the new setup which eventually will be the main test setup I think. They only test<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">the new API though, so the old tests are the only place where cs2cs is properly tested.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">I’d like to clean this stuff up a bit. I’ll try to find the time and energy to lay out a proper plan<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">for that effort.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">You can run all tests with either `make check´ (autotools builds) or `ctest` (cmake builds).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">I hope that is good enough for now. Suggestions on how and where to document this stuff<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">are welcome.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">/Kristian<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">Fra:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> <a href="mailto:proj-bounces@lists.maptools.org" target="_blank">proj-bounces@lists.maptools.<wbr>org</a> [mailto:<a href="mailto:proj-bounces@lists.maptools.org" target="_blank">proj-bounces@lists.<wbr>maptools.org</a>]
<b>På vegne af </b>Kurt Schwehr<br>
<b>Sendt:</b> 7. mart</span><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">s 2018 18:34<br>
<b>Til:</b> PROJ.4 and general Projections Discussions &lt;<a href="mailto:proj@lists.maptools.org" target="_blank">proj@lists.maptools.org</a>&gt;<br>
<b>Emne:</b> [Proj] Testing of proj<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Hi all,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">In case anyone is interested, I&#39;ve just pushed my first set of tests for proj to my GDAL autotest2 &quot;third_party&quot; trees.  Nothing super exciting, but this is some of the stuff I count on for CI.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Python subprocess minimally testing cs2cs:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    <a href="https://github.com/schwehr/gdal-autotest2/tree/master/python/third_party/proj" target="_blank">
https://github.com/schwehr/<wbr>gdal-autotest2/tree/master/<wbr>python/third_party/proj</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">C++ gunit tests - not well thought out and very little coverage:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    <a href="https://github.com/schwehr/gdal-autotest2/tree/master/cpp/third_party/proj" target="_blank">https://github.com/schwehr/<wbr>gdal-autotest2/tree/master/<wbr>cpp/third_party/proj</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I have yet to wrap existing proj tests to a gunit/python unittest/bazel world.  Any chance someone could point me at more docs about the testing strategy for proj 5 and going forward?  There isn&#39;t much here: <a href="http://proj4.org/contributing.html" target="_blank">http://proj4.org/<wbr>contributing.html</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I see these, but which are the most important going forward?  It appears that porting the gie infrastructure with the gigs test cases is probably the best place to start.  Does that make sense?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Are binaries like cs2cs tested anywhere?  I can&#39;t seem to find anything.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">ls test<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">CMakeLists.txt  Makefile.am     fuzzers         gie             gigs<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">ls cmake | grep -i test<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Proj4Test.cmake<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">cd src; ls | egrep -i &#39;gie|test&#39;<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">bin_geodtest.cmake<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">bin_gie.cmake<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">geodtest.c<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">gie.c<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">multistresstest.c<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">runmultistresstest.sh<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">test228.c<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">-kurt<u></u><u></u></p>
</div>
</div>
</div></div></div>
</div>

<br>______________________________<wbr>_________________<br>
Proj mailing list<br>
<a href="mailto:Proj@lists.maptools.org">Proj@lists.maptools.org</a><br>
<a href="http://lists.maptools.org/mailman/listinfo/proj" rel="noreferrer" target="_blank">http://lists.maptools.org/<wbr>mailman/listinfo/proj</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">--<div><a href="http://schwehr.org" target="_blank">http://schwehr.org</a></div></div>
</div>