Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions lib/private/action_subject.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ def _action_subject_new(action, meta):
meta = meta,
mnemonic = mkmethod(self, _action_subject_mnemonic),
not_contains_arg = mkmethod(self, _action_subject_not_contains_arg),
outputs = mkmethod(self, _action_subject_outputs),
substitutions = mkmethod(self, _action_subject_substitutions),
# keep sorted end
)
Expand Down Expand Up @@ -226,6 +227,17 @@ def _action_subject_inputs(self):
meta = self.meta.derive("inputs()")
return DepsetFileSubject.new(self.action.inputs, meta)

def _action_subject_outputs(self):
"""Returns a DepsetFileSubject for the action's outputs.

Method: ActionSubject.outputs

Returns:
`DepsetFileSubject` of the action's outputs.
"""
meta = self.meta.derive("outputs()")
return DepsetFileSubject.new(self.action.outputs, meta)

def _action_subject_contains_flag_values(self, flag_values):
"""Assert that an action's argv has the given ("--flag", "value") entries.

Expand Down
17 changes: 17 additions & 0 deletions lib/private/depset_file_subject.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ def _depset_file_subject_new(files, meta, container_name = "depset", element_plu
contains_exactly = lambda *a, **k: _depset_file_subject_contains_exactly(self, *a, **k),
contains_none_of = lambda *a, **k: _depset_file_subject_contains_none_of(self, *a, **k),
contains_predicate = lambda *a, **k: _depset_file_subject_contains_predicate(self, *a, **k),
has_size = lambda *a, **k: _depset_file_subject_has_size(self, *a, **k),
is_empty = lambda *a, **k: _depset_file_subject_is_empty(self, *a, **k),
is_not_empty = lambda *a, **k: _depset_file_subject_is_not_empty(self, *a, **k),
not_contains = lambda *a, **k: _depset_file_subject_not_contains(self, *a, **k),
Expand All @@ -77,6 +78,22 @@ def _depset_file_subject_new(files, meta, container_name = "depset", element_plu
)
return public

def _depset_file_subject_has_size(self, expected):
"""Asserts that `expected` is the size of the depset of files.

Method: DepsetFileSubject.has_size

Args:
self: implicitly added.
expected: ([`int`]) the expected size of the depset of files.
"""
return CollectionSubject.new(
self.files,
meta = self.meta,
container_name = self.container_name,
element_plural_name = self.element_plural_name,
).has_size(expected)

def _depset_file_subject_is_empty(self):
"""Asserts that the depset of files is empty.

Expand Down