Skip to content

Commit d331539

Browse files
committed
Test that excluded libraries are correctly collected
1 parent 54602f5 commit d331539

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

tools/test/resources/resource_test.py

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
# limitations under the License.
1616

1717
import unittest
18-
from os.path import dirname, join
19-
from tools.resources import Resources, FileType
18+
from os.path import dirname, join, basename
19+
from tools.resources import Resources, FileType, MBED_LIB_FILENAME
2020
from tools.notifier.mock import MockNotifier
2121

2222
SRC_PATHS = {
@@ -105,20 +105,29 @@ def test_filter_by_all_libraries(self):
105105
"""
106106
Assert something
107107
"""
108-
res = Resources(MockNotifier())
108+
res = Resources(MockNotifier(), collect_ignores=True)
109109
res._add_labels('TARGET', ['K64F', 'FRDM'])
110110
for name, loc in SRC_PATHS.items():
111111
res.add_directory(loc, into_path=name)
112112
res.filter_by_libraries(res.get_file_refs(FileType.JSON))
113113
assert("main.cpp" in res.get_file_names(FileType.CPP_SRC))
114+
lib_dirs = (
115+
dirname(name) or "." for name in
116+
res.get_file_names(FileType.JSON)
117+
)
118+
assert(not any(dir in res.ignored_dirs for dir in lib_dirs))
114119

115120
def test_filter_by_bm_lib(self):
116-
res = Resources(MockNotifier())
121+
res = Resources(MockNotifier(), collect_ignores=True)
117122
res._add_labels('TARGET', ['K64F', 'FRDM'])
118123
for name, loc in SRC_PATHS.items():
119124
res.add_directory(loc, into_path=name)
120-
filter_by = [
125+
libs = [
121126
ref for ref in res.get_file_refs(FileType.JSON)
127+
if basename(ref.name) == MBED_LIB_FILENAME
128+
]
129+
filter_by = [
130+
ref for ref in libs
122131
if join("platform", "bm", "mbed_lib.json") in ref.name
123132
]
124133
res.filter_by_libraries(filter_by)
@@ -131,6 +140,11 @@ def test_filter_by_bm_lib(self):
131140
join("mbed-os", "TARGET_FRDM", "not-main.cpp")
132141
in res.get_file_names(FileType.CPP_SRC)
133142
)
143+
inc_names = [dirname(name) or "." for name, _ in filter_by]
144+
assert(not any(d in res.ignored_dirs for d in inc_names))
145+
excluded_libs = set(libs) - set(filter_by)
146+
exc_names = [dirname(name) or "." for name, _ in excluded_libs]
147+
assert(all(e in res.ignored_dirs for e in exc_names))
134148

135149

136150
if __name__ == '__main__':

0 commit comments

Comments
 (0)