Felipe Monteiro 1566b9541a Clean up functional test directory and entrypoint script
This PS simply reorganizes Deckhand's functional test directory
to make it more maintainable and readable as right now it is
hard to figure out what is covered by a functional test and
what isn't.

Additionally, the entrypoint for these tests in tools/functional-tests.sh
has also been refactored slightly.

Change-Id: I262c7e1f7cbce248c12ee013a9bab4e32b89adee
2018-04-20 22:07:04 +01:00

1.1 KiB

Functional Tests

Deckhand uses gabbi to drive its functional tests. The entry point for these tests is functional-tests.sh under tools directory.

Directory Test Layout

Tests are contained in intuitively named subdirectories nested under deckhand/tests/functional/gabbits. For example, layering tests are contained under the layering subdirectory. This pattern should be strictly followed.

Because gabbi does not support loading tests from subdirectories, logic is included in test_gabbi.py to:

  1. Create a temporary directory.
  2. Create a symlink between all the test files in the nested subdirectories and the temporary directory.

However, the test directory can still be modified:

  • New subdirectories under gabbits can be added.
  • New tests under any of those subdirectories can be added.
  • New resource files under gabits/resources can be added. This directory name should never be renamed.
  • All other subdirectories, test files, and resources may be renamed.