This is Slycat - a web-based ensemble analysis and visualization platform, created at Sandia National Laboratories.
Build Your own local slycat environment with docker-compose.
Latest documentation can be found here.
A github repo of sample data that can be used by slycat is at slycat-data.
- Ensemble summaries (correlations or similarities)
- Individual runs relative to the group (distributions or behaviors)
- Run-specific data (numeric values, images, or videos)
- Model Understanding
- Model Validation
- Model Simplification
- Results Clustering
- Design Optimization
- Model Tuning
- Unique Features
- Bugs
If you use the development container, shell into it and run the tests as described in the below sections.
If you aren't using the development container, here are some tips on getting your environment set up for testing.
Make sure your PYTHONPATH is set correctly. You may need to add the slycat packages directory for the unit tests to work:
PYTHONPATH=(path to slycat src)/packages
Also, you should install the same modules as slycat uses (e.g. CherryPy, pillow, etc). For some tests, you'll also need testing modules imported by the current tests in the codebase. At present these are:
- nose
- selenium
- pyvirtualdisplay (also install xvfb in the OS if needed)
Unit tests are mostly using py.test. If you have coverage, you can run them from the root slycat folder with
py.test test/
If you have the coverage package, you can run the tests and generate both stdout and html coverage output with
coverage run --source . -m py.test ; coverage html
You can leave off the coverage html if you don't want the html output. By default, the output will generate in the htmlcov directory.
You can run behave tests by simply running behave since slycat uses the default name, features.
Install and run the slycat-developer image as described above. Set the SLYCAT_TEST_SERVER environment variable to the uri of your test server being used for these tests. Then from the host (not inside the container), run
behave end-to-end-tests
A new browser instance will open up and will try to load slycat. You may need to accept the https exception. Once you get to the login page, enter the default username/password for the container (slycat:slycat). The tests should run, and you may see the test suite interacting with the browser as it carries out its tests.