if there is predefined environment in runbook, it doesn't allow to
create environment automatically. For the usage scenarios, if there is
predefined environment, it's confusing to have generated environments.
This change force to use predefined environment for all test cases.
Improved UTs, add checks on case names
The camelCase is recommended in yaml, but it's different with Python
style. The trouble is when searching in yaml, it's hard to find Python
schema, and versus. So change to use snake_case, for easier searching.
1. add work flow to create env from cases.
2. add capability on environment and node.
3. add EnvironmentSpace for requirement and capability.
4. add prepare_environment method to match capability and requirements
5. use delay node schema nodes replace ugly package instrument.
6. move some test only code to test file.
7. add create factory to support windows tools.
8. support test case settings like retry, times, and so on.
9. other minor improvements.
* Implement custom script
1. Implement custom script. As it's same type with different data, so it's different with tools. CustomScriptBuilder to create an instance of script on Node.
2. rename method and variables to follow pep8 guidaline.
3. rename [Suite/Case]Metadata to [TestSuite/TestCase]Metadata
4. create LisaException to all internal exceptions
5. other minor improvements
1. fixed most format and typing
2. update yaml schema as feedback
3. fix some file names
4. Add environments factory to manage multiple environments
. move environment request logic to runner, but will be flow part later.
. other minor improvements.
1. Add Config class to hold config data and helper methods.
2. Add RuntimeObject, hold running objects.
3. Improve schema of platform and environment.
4. Rename decorators
5. Load node, environment, platform from config
6. Implement Ready env.
7. Add connection class to manage ssh session of node.
8. other minor improvements.
1. add argparser
2. load yaml file to data
3. load platform subclasses
4. rename yaml to yml as common practice
5. optimize log and log format
6. add executable base for future usage.
7. other small improvements
1. Add decorators for test class and methods
2. Add base class for test process.
3. Add a simple example for test suite.
4. Move local platform type to ready, as it's kind of ready.
5. Add async/await for key methods.
6. Add basic code for environment, node.
7. Add basic methods for Platform.
8. Add test factory to collect test info.
9. Add function for import_module
10. process can stop child processes.
11. Add basic parameter parser.