<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    First issue (blocker)<br>
    <br>
    I have succeeded in getting the unit testing scripts for python code
    to run as part of the build on my machine, however when uploaded to
    GitLab the pipelines fail with an import error in the test scripts.
    The test modules cannot import the library modules they are meant to
    test.<br>
    <br>
    The cause of this issue is that the python libraries are stored in
    pylib/ but installed (and referenced in the code) as ntp/.
    Previously this caused import problems that were solved when someone
    added code to create a symlink from ntp/ to pylib/ at the end of the
    build process. When run by the pipeline this symlink is not in
    place, resulting in the error. When I delete the build/ folder from
    my repo and run the build it errors out with a different import
    error (probably gets farther because I have an installed copy it can
    piggyback off of), but then a subsequent clean configure build
    succeeds.<br>
    <br>
    Adding the pytest_paths argument to the build script does not - and
    cannot - work because of the "pylib" vs "ntp" difference.<br>
    <br>
    I attempted to snip the code from afterparty() that creates the
    symlinks and stick it in build() before the tests are run. It
    errored in ways I do not understand.<br>
    <br>
    Though I understand the build system far better than I did a week
    ago I am still mostly poking it while trying to not to blow it up.
    Which leads nicely into the next problem...<br>
    <br>
    Second issue (non-blocker, but ugly)<br>
    <br>
    In order to run unit tests on python code the "pytest" waf module is
    required. Attempting to load it normally failed, leading me to
    believe that it was not included in the non-human-readable waf code.
    After manually downloading the relevant file from the waf repo I
    tried to place it in the directory where it should go in theory,
    resulting in failed imports for everything else that has that import
    path (but is really imported from the archive). I also tried to
    place in in wafhelpers, which failed. Currently in the MR for the
    build changes pytest.py sits in the top level ntpsec/ directory
    where it works, but this kind of sloppiness is not how the build
    should be arranged.<br>
    <br>
    I do not know how to "recompile" waf to include different modules, I
    don't know the beginnings of what I don't know, and I'm not sure
    that I would do it if I did know. Someone with Official Build
    Wrangling status needs to take a look at this.<br>
    <br>
    <div class="moz-signature">-- <br>
      <i>"In the end; what separates a Man, from a Slave? Money? Power?
        No. A Man Chooses, a Slave Obeys."</i> -- Andrew Ryan
      <p>
        <i>"Utopia cannot precede the Utopian.
          It will exist the moment we are fit to occupy it."</i> --
        Sophia Lamb
      </p>
    </div>
  </body>
</html>