fix: render_default always returns empty string

Closes #3012
This commit is contained in:
Willi Ballenthin
2026-04-22 08:52:37 +03:00
committed by Willi Ballenthin
parent a5082beed0
commit aa9f09db89
3 changed files with 18 additions and 13 deletions

View File

@@ -44,6 +44,8 @@
- fix: EXTENSIONS_DYNAMIC has inconsistent leading dots @williballenthin #3028
- fix: render_default always returns empty string @williballenthin #3012
### capa Explorer Web
### capa Explorer IDA Pro plugin

View File

@@ -13,13 +13,11 @@
# limitations under the License.
import io
import collections
import urllib.parse
import rich
import rich.table
import rich.console
from rich.console import Console
import capa.render.utils as rutils
@@ -325,17 +323,15 @@ def render_mbc(doc: rd.ResultDocument, console: Console):
console.print(table)
def render_default(doc: rd.ResultDocument):
f = io.StringIO()
console = rich.console.Console()
render_meta(doc, console)
render_attack(doc, console)
render_maec(doc, console)
render_mbc(doc, console)
render_capabilities(doc, console)
return f.getvalue()
def render_default(doc: rd.ResultDocument) -> str:
console = Console(highlight=False)
with console.capture() as capture:
render_meta(doc, console)
render_attack(doc, console)
render_maec(doc, console)
render_mbc(doc, console)
render_capabilities(doc, console)
return capture.get()
def render(meta, rules: RuleSet, capabilities: MatchResults) -> str:

View File

@@ -245,3 +245,10 @@ def test_render_vverbose_feature(feature, expected):
output = capture.get().strip()
assert output == expected
def test_render_default_returns_non_empty(pma0101_rd):
output = capa.render.default.render_default(pma0101_rd)
assert output != ""
assert "md5" in output
assert "290934c61de9176ad682ffdd65f0a669" in output