From 501b5b7f338396a4a115355b8a78ae5b03f67d9a Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Tue, 27 Jun 2017 17:33:42 +0200 Subject: yocto-compat-layer.py: allow README with suffix It may be useful to append a suffix denoting the file format. For example, README.rst is rendered differently when viewed on Github, and also helps editors to switch to a mode more suitable for the format. The tests uses a file pattern to find the README file(s) and treats the one with the shortest name as the main one which must not be empty. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- scripts/lib/compatlayer/cases/common.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index ede002d50d..4c8a5439ec 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -1,6 +1,7 @@ # Copyright (C) 2017 Intel Corporation # Released under the MIT license (see COPYING.MIT) +import glob import os import unittest from compatlayer import get_signatures, LayerType, check_command, get_depgraph @@ -8,15 +9,20 @@ from compatlayer.case import OECompatLayerTestCase class CommonCompatLayer(OECompatLayerTestCase): def test_readme(self): - readme_file = os.path.join(self.tc.layer['path'], 'README') - self.assertTrue(os.path.isfile(readme_file), - msg="Layer doesn't contains README file.") + # The top-level README file may have a suffix (like README.rst or README.txt). + readme_files = glob.glob(os.path.join(self.tc.layer['path'], 'README*')) + self.assertTrue(len(readme_files) > 0, + msg="Layer doesn't contains README file.") + # There might be more than one file matching the file pattern above + # (for example, README.rst and README-COPYING.rst). The one with the shortest + # name is considered the "main" one. + readme_file = sorted(readme_files)[0] data = '' with open(readme_file, 'r') as f: data = f.read() self.assertTrue(data, - msg="Layer contains README file but is empty.") + msg="Layer contains a README file but it is empty.") def test_parse(self): check_command('Layer %s failed to parse.' % self.tc.layer['name'], -- cgit 1.2.3-korg