From 649526118b904c54ae0f1a6626faae479cef7e83 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Thu, 23 Jan 2025 16:13:12 -0600 Subject: [PATCH] Avoid printing `True` in C program & test it! Closes: #74 --- adafruit_pioasm.py | 2 +- tests/test_print_c_program.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 tests/test_print_c_program.py diff --git a/adafruit_pioasm.py b/adafruit_pioasm.py index f1484a3..dba68ba 100644 --- a/adafruit_pioasm.py +++ b/adafruit_pioasm.py @@ -545,7 +545,7 @@ def print_c_program(self, name: str, qualifier: str = "const") -> None: sideset_pin_count = self.pio_kwargs.get("sideset_pin_count", 0) print(f"{qualifier} int {name}_sideset_pin_count = {sideset_pin_count};") print( - f"{qualifier} bool {name}_sideset_enable = {self.pio_kwargs['sideset_enable']};" + f"{qualifier} bool {name}_sideset_enable = {+self.pio_kwargs['sideset_enable']};" ) print(f"{qualifier} uint16_t {name}[] = " + "{") last_line = 0 diff --git a/tests/test_print_c_program.py b/tests/test_print_c_program.py new file mode 100644 index 0000000..f42dd66 --- /dev/null +++ b/tests/test_print_c_program.py @@ -0,0 +1,17 @@ +# SPDX-FileCopyrightText: 2025 Jeff Epler, written for Adafruit Industries +# +# SPDX-License-Identifier: MIT + +import contextlib +import io + +import adafruit_pioasm + + +def test_print_c_program(): + output = io.StringIO() + with contextlib.redirect_stdout(output): + adafruit_pioasm.Program(".side_set 1 opt").print_c_program("mood") + c_program = output.getvalue() + assert "True" not in c_program + assert "sideset_enable = 1" in c_program