At some point we should probably use https://github.com/Splunk/docker-Splunk and install the sdk-app-collection rather than constantly rebuilding containers.
Tox changes for SearchCommand App Tests
It turns out that these tests are skipped entirely unless you've run a build command beforehand. Once you do that, it then turns out that the new Tox version of the run seems to have a problem writing to $SPLUNK_HOME which is set to be /var/opt/Splunk/...
Fix: Change the example apps to write to their own directory, where we know we always have write access.
Python 3 changes for SearchCommand App Tests
Once you get past that hurdle, it then turns out that several tests fail in Python 3 because they're based on serialized recordings in Python 2, and Python 3 has different behavior. Some examples with respect to PY3 vs. PY2:
More precision for some numerical values
\w treats kanji characters as words
Fix: Recordings detect PY3-ness and try to look for a PY3 override file. If there isn't one, it falls back to the original PY2.
N.B.: One test is disabled for the moment while we figure out how to properly write that file.
Makefile changes
Now make properly builds the SearchCommand app before running tests.
Tox-Travis Integration
Uses
tox-travis
to correctly produce the build matrix.Splunk 7.3 container update
Uses the new Splunk 7.3 container, built from https://github.com/splunk/splunk-travis-ci-configs
At some point we should probably use https://github.com/Splunk/docker-Splunk and install the
sdk-app-collection
rather than constantly rebuilding containers.Tox changes for SearchCommand App Tests
It turns out that these tests are skipped entirely unless you've run a build command beforehand. Once you do that, it then turns out that the new Tox version of the run seems to have a problem writing to
$SPLUNK_HOME
which is set to be/var/opt/Splunk/...
Fix: Change the example apps to write to their own directory, where we know we always have write access.
Python 3 changes for SearchCommand App Tests
Once you get past that hurdle, it then turns out that several tests fail in Python 3 because they're based on serialized recordings in Python 2, and Python 3 has different behavior. Some examples with respect to PY3 vs. PY2:
\w
treats kanji characters as wordsFix: Recordings detect PY3-ness and try to look for a PY3 override file. If there isn't one, it falls back to the original PY2.
N.B.: One test is disabled for the moment while we figure out how to properly write that file.
Makefile changes
Now
make
properly builds the SearchCommand app before running tests.