1
|
|
|
"""Pack generation for PyNOS |
2
|
|
|
""" |
3
|
|
|
import generate_pack |
4
|
|
|
import generate_tests |
5
|
|
|
|
6
|
|
|
|
7
|
|
|
def start_generate_pack(): |
8
|
|
|
"""Generate pack |
9
|
|
|
""" |
10
|
|
|
generate_pack.load_modules() |
11
|
|
|
methods = generate_pack.load_methods() |
12
|
|
|
info = generate_pack.parse_methods(methods) |
13
|
|
|
generate_pack.generate_pack(info) |
14
|
|
|
|
15
|
|
|
|
16
|
|
|
def start_generate_tests(): |
17
|
|
|
"""Generate tests |
18
|
|
|
""" |
19
|
|
|
print "Setting up test build env." |
20
|
|
|
generate_tests.setup() |
21
|
|
|
print "Getting YAML files from disk." |
22
|
|
|
yaml_files = generate_tests.get_yaml_files() |
23
|
|
|
print "Parsing YAML files to get metadata." |
24
|
|
|
actions = generate_tests.parse_yaml_files(yaml_files) |
25
|
|
|
result = None |
26
|
|
|
if generate_tests.request_user_bool( |
27
|
|
|
"Would you like to attempt to load an answer file? (y/n): " |
28
|
|
|
): |
29
|
|
|
result = generate_tests.load_answer_file() |
30
|
|
|
if result is None: |
31
|
|
|
print "Requesting values for actions without default value." |
32
|
|
|
actions = generate_tests.request_values(actions) |
33
|
|
|
else: |
34
|
|
|
actions = result |
35
|
|
|
if generate_tests.request_user_bool( |
36
|
|
|
"Would you like to write these answers to an answer" |
37
|
|
|
"file? (y/n): " |
38
|
|
|
): |
39
|
|
|
generate_tests.write_answer_file(actions) |
40
|
|
|
print "Validating actions." |
41
|
|
|
callback = generate_tests.CallbackClass() |
42
|
|
|
actions, invalid_actions = generate_tests.validate_actions_result( |
43
|
|
|
actions, |
44
|
|
|
callback |
45
|
|
|
) |
46
|
|
|
print "Generating test files." |
47
|
|
|
generate_tests.generate_test_files(actions, invalid_actions) |
48
|
|
|
generate_tests.print_invalid_actions(invalid_actions) |
49
|
|
|
print "Test files have been generated." |
50
|
|
|
|
51
|
|
|
|
52
|
|
|
def main(): |
53
|
|
|
"""Main entry point |
54
|
|
|
""" |
55
|
|
|
start_generate_pack() |
56
|
|
|
start_generate_tests() |
57
|
|
|
|
58
|
|
|
|
59
|
|
|
if __name__ == "__main__": |
60
|
|
|
main() |
61
|
|
|
|