Gilles Peskine 7f537471bd Clean up overly complicated typing in read_file_lines
The `read_file_lines` context manager supported either text or binary
streams, based on a parameter passed to the constructor. But the type
annotation on the iterator claimed that all lines were text. The version of
mypy that we use on the CI was happy with that, but modern versions are not.

The advantage of `read_file_lines` over built-in functions is better
tracking of line numbers. We never took advantage of this in our code with
binary streams. Change the one place where `read_file_lines` was used with a
binary stream to use built-in functions instead, and specialize
`read_file_lines` to text streams.

This fixes a legitimate complaint of modern mypy on `macro_collectory.py`.

There was no runtime bug: the behavior was correct, only the type
annotations were wrong.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-03-31 15:19:41 +02:00

Mbed TLS framework

This repository contains a version-independent build and test framework for TF-PSA-Crypto and Mbed TLS.

You need this repository as a Git submodule in a branch of one of the above repositories if:

  • You want to build, test or contribute to Mbed TLS 3.6.0 or above, and you are working from a snapshot of a Git commit on a development branch.
  • You want to build, test or contribute to TF-PSA-Crypto, and you are working from a snapshot of a Git commit on a development branch.

You do not need this repository if:

  • You are working with Mbed TLS 2.28.
  • You want to build a release of Mbed TLS and run its unit tests.

Contributing

We gratefully accept bug reports and contributions from the community. Please see the contributing guidelines for details on how to do this.

License

Unless specifically indicated otherwise in a file, Mbed TLS framework files are provided under a dual Apache-2.0 OR GPL-2.0-or-later license. See the LICENSE file for the full text of these licenses, and the 'License and Copyright' section in the contributing guidelines for more information.

S
Description
Languages
Python 51.6%
C 30%
Makefile 8.7%
Shell 5.1%
Perl 4.4%
Other 0.1%