52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
#! /usr/bin/env python3
|
|
|
|
import sys
|
|
import os
|
|
import json
|
|
|
|
import build_board_info
|
|
|
|
# Get boards in json format
|
|
boards_info_json = build_board_info.get_board_mapping()
|
|
|
|
# Get all the boards out of the json format
|
|
info_boards = [board for board in boards_info_json.keys() if not boards_info_json[board].get("alias", False)]
|
|
|
|
# We need to know the path of the .travis.yml file
|
|
base_path = os.path.dirname(__file__)
|
|
travis_path = os.path.abspath(os.path.join(base_path, '..', '.travis.yml'))
|
|
|
|
# Loading board list based on TRAVIS_BOARDS env variable on .travis.yml
|
|
travis_boards = []
|
|
with open(travis_path, 'r') as travis:
|
|
|
|
# Get all lines that contain the substring 'TRAVIS_BOARDS'
|
|
for line in travis:
|
|
|
|
# Get the lines with TRAVIS_BOARDS= in it
|
|
if line.find('TRAVIS_BOARDS=') is not -1:
|
|
# Store all the boards names into travis_boards
|
|
begin_of_names = line.find('TRAVIS_BOARDS=') + len('TRAVIS_BOARDS=') + 1
|
|
end_of_names = line.rfind('"')
|
|
boards = line[begin_of_names:end_of_names]
|
|
boards = boards.split(' ')
|
|
travis_boards.extend(boards)
|
|
|
|
# We've reached the end of the env: section
|
|
elif 'addons' in line:
|
|
break
|
|
else:
|
|
pass
|
|
|
|
# All the travis_boards elements must be on info_boards
|
|
info_boards.sort()
|
|
travis_boards.sort()
|
|
|
|
missing_boards = set(info_boards) - set(travis_boards)
|
|
|
|
if missing_boards:
|
|
print('Boards missing in TRAVIS_BOARDS:')
|
|
for board in missing_boards:
|
|
print(board)
|
|
sys.exit(1)
|