<div dir="ltr"><div dir="ltr"><div class="gmail-gs" style="margin:0px;padding:0px 0px 20px;width:982px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-"><div id="gmail-:2m3" class="gmail-ii gmail-gt" style="font-size:0.875rem;direction:ltr;margin:8px 0px 0px;padding:0px"><div id="gmail-:2m4" class="gmail-a3s gmail-aiL" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div dir="ltr"><div dir="ltr">Hi Greg,</div><br><div class="gmail_quote"><span class="gmail-im" style="color:rgb(80,0,80)"><div dir="ltr" class="gmail_attr">On Wed, 1 Sept 2021 at 01:33, Greg Troxel <<a href="mailto:gdt@lexort.com" target="_blank">gdt@lexort.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">A few comments from the perspective of a gdal test newbie, which I hope<br>are helpful:<br><br>* autotest is not in the distribution tarball<br></blockquote><div><br></div></span><div>Yeah, it's never been in the release tarballs. And the release tarballs start one folder level down (gdal/) as well.</div><div><br></div><div>TBH I think the release tarballs should just match/be an archive of the git tag. But that's above my pay grade :-) </div><div><br></div><div>@Debian and other package maintainers — are you just getting the Git tags these days or do you actually use the release tarballs?<br></div><span class="gmail-im" style="color:rgb(80,0,80)"><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>  + Does it test the gdal that is installed in one's PATH (and<br>  PYTHONPATH), or is is testing the gdal that is in the source tree?<br></blockquote><div><br></div></span><div>CONTRIBUTING.md has a guide to run `scripts/setdevenv.sh` which sets up in-tree execution for utilities/libraries and the tests.</div><span class="gmail-im" style="color:rgb(80,0,80)"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>  + Is one supposed to check out the corresponding branch (or really<br>  tag), or is it ok to test 3.3.2rc2 with master?<br></blockquote><div><br></div></span><div>The tests should match the code, so 3.3.2rc2 tests run against 3.3.2rc2 code.</div><span class="gmail-im" style="color:rgb(80,0,80)"><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">* no clear path to test a not-yet-installed gdal<br><br>When building a new gdal, it seems a good idea to run tests before<br>installing it.  autoconf has done this for year with make check.  I see<br>no obvious way to do this.<br></blockquote><div><br></div></span><div>setdevenv.sh? Adding some sort of `make test` might be a cleaner approach though.</div><span class="gmail-im" style="color:rgb(80,0,80)"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>* puzzling test dependencies<br><br>  It's not really clear if a missing dependency (vs requirements.txt)<br>  will cause problems (assuming pytest and lxml are there), in terms of<br>  just skipping some things, bad output, or perhaps some missing pretty<br>  printing.<br></blockquote><div><br></div></span><div>a mixture. Is there some particular reason installing everything in requirements.txt from PyPi is a problem? </div><span class="gmail-im" style="color:rgb(80,0,80)"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>  I think pytest-env is<br>    <a href="https://pypi.org/project/pytest-env/#history" rel="noreferrer" target="_blank">https://pypi.org/project/pytest-env/#history</a><br>  but that appears unmaintained, with a last release in 2017.   Perhaps<br>  there are no outstanding bugs and no changes and it is actually<br>  maintained but there is no reason to change -- but that is highly<br>  implausible.   It seems boutique, based on not being in pkgsrc, which<br>  means no one else has needed it, even though we have 20K packages.<br></blockquote><div><br></div></span><div>It's about 45 lines of code. Pytest plugins are often fairly minimal, and just do One Thing.</div><span class="gmail-im" style="color:rgb(80,0,80)"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">  [Now I see that osr tests fail with a warning about env if this is<br>  missing, but really the test should be skipped or hard fail and not<br>  run without the env.]<br></blockquote><div><br></div></span><div>Yes, I think it should hard-fail</div><span class="gmail-im" style="color:rgb(80,0,80)"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">* I'm guessing the expectation is that all the tests pass.  With<br>  autotest from master and 3.3.2rc2 installed (base lib and python<br>  bindings), I get:<br></blockquote><div><br></div></span><div>In general all the tests pass. There's skips/xfails for particular known issues, but maybe you've found a bug? Maybe BSD-specific, BSD isn't part of CI.</div><span class="gmail-im" style="color:rgb(80,0,80)"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>* skipping tests after a failure. </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>It would be nice to have hints in README.md about skipping tests, but it<br>seems easy enough to run osr and then the following ones.<br></blockquote><div><br></div></span><div><div>you mean, stopping on the first failure? `pytest -x ...`</div><div>autotest/README.md has some docs on running specific tests / modules / etc</div><br></div><div>GDAL has some odd test layouts with particular inter-test dependencies from when the test suite was bulk-ported via automation to work under pytest — this made it a lot saner, but some of the "test 18 depends on test 17 passing" issues remain.</div><div><br></div><div>Rob :)</div></div></div><div class="gmail-yj6qo"></div><div class="gmail-adL"></div></div><div class="gmail-yj6qo"></div></div><div class="gmail-hi" style="border-bottom-left-radius:1px;border-bottom-right-radius:1px;padding:0px;width:auto;background:rgb(242,242,242);margin:0px"></div></div></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
</blockquote></div></div>