Add a yaml verification to tox testing

Ensure that all yaml is valid when running testing
to ensure that no yaml files are invalid or broken
in anvil.

Change-Id: I292029b9403499fb3b83ed259abb2867f136ad25
This commit is contained in:
Joshua Harlow 2014-04-17 14:51:58 -07:00
parent d4b8d6e2d6
commit f64b3c3a6c
2 changed files with 39 additions and 0 deletions

38
tools/verify_yaml Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env python
# Copyright (C) 2014 Yahoo! Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import os
import sys
import yaml
def iter_yamls(base):
for root, _dirs, files in os.walk(base):
for f in files:
if f.endswith(".yaml"):
yield os.path.join(root, f)
def main():
for yaml_filename in iter_yamls(os.getcwd()):
with open(yaml_filename, 'rb') as handle:
yaml.safe_load(handle)
return 0
if __name__ == "__main__":
sys.exit(main())

View File

@ -9,6 +9,7 @@ setenv = VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = nosetests {posargs}
{toxinidir}/tools/verify_yaml
[tox:jenkins]
downloadcache = ~/cache/pip