This adds the plotting script to what make distcheck does, and does some fixes to make sure it can run in the test environment.
I'm not really confident with Automake. Here's how I added it to distcheck:
I added scripts to SUBDIRS in the root directory.
The makefile in scripts has the plot.py script in dist_noinst_SCRIPTS. My thinking was that this has to be distributed in order for the check to run, but it's not clear to me that it should be installed as part of the Remy package (at least not at this stage).
I added the original data files (from the paper) to EXTRA_DIST in the scripts directory. (I think this is where data for tests that is not installed goes?) The data itself isn't checked; they're there more to test that the "plot originals" part of the plotting script can run without error.
I added a new test run-plot-script.py to dist_check_SCRIPTS and TESTS in the tests directory.
The part I'm least sure about: In the dist tarball, plot.py will be in its original source directory (because I told it to be), as will the original data files. But sender-runner, which is built, will be in the _build directory. This complicates paths. So plot.py now takes an option where the location of sender-runner can be specified explicitly. Now, run-plot-script.py calls plot.py using os.environ["srcdir"], and it passes to it the location of where the built sender-runner will be, which is ../src/sender-runner (not in os.environ["srcdir"]). This works, but I wonder if these gymnastics indicate that I should make plot.py part of the build or install. But if they do, I'm not sure how to do so appropriately.
Also, I found I needed to allow for a 20% difference when checking actual values against expected values. The verify-2014-100x-results only allows for 5%. I'm not entirely sure why. It might be that I'm checking link speeds that tend to vary more, e.g. 0.1 as opposed to 2.21.
This adds the plotting script to what
make distcheck
does, and does some fixes to make sure it can run in the test environment.I'm not really confident with Automake. Here's how I added it to
distcheck
:SUBDIRS
in the root directory.dist_noinst_SCRIPTS
. My thinking was that this has to be distributed in order for the check to run, but it's not clear to me that it should be installed as part of the Remy package (at least not at this stage).EXTRA_DIST
in the scripts directory. (I think this is where data for tests that is not installed goes?) The data itself isn't checked; they're there more to test that the "plot originals" part of the plotting script can run without error.dist_check_SCRIPTS
andTESTS
in the tests directory.os.environ["srcdir"]
, and it passes to it the location of where the built sender-runner will be, which is../src/sender-runner
(not inos.environ["srcdir"]
). This works, but I wonder if these gymnastics indicate that I should make plot.py part of the build or install. But if they do, I'm not sure how to do so appropriately.Also, I found I needed to allow for a 20% difference when checking actual values against expected values. The verify-2014-100x-results only allows for 5%. I'm not entirely sure why. It might be that I'm checking link speeds that tend to vary more, e.g. 0.1 as opposed to 2.21.