<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/testsuite.py, branch v10.36.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.36.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.36.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2019-01-15T22:12:10Z</updated>
<entry>
<title>Update copyright years for 2019</title>
<updated>2019-01-15T22:12:10Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-01-15T22:11:34Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=770abd61a5c90837d9336afd972090eebbc26b0b'/>
<id>urn:sha1:770abd61a5c90837d9336afd972090eebbc26b0b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Get rid of _next_token() and _peek_token()</title>
<updated>2018-11-23T09:29:57Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-23T00:33:32Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=ab89ef6aa7b8fef0eb410949c86a25e55586a972'/>
<id>urn:sha1:ab89ef6aa7b8fef0eb410949c86a25e55586a972</id>
<content type='text'>
These are pretty hot. Inline them to save a few % of parsing time.
They're pretty simple anyway.

_tokens_i was initialized to -1 to simplify the _next_token()
implementation. With _next_token() gone, initialize it to 0 instead,
which simplifies some other code.
</content>
</entry>
<entry>
<title>Disable test dependent on dict ordering on Python 3.5 and earlier</title>
<updated>2018-11-21T10:34:32Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-21T10:17:28Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=01757e5ac9324948ca64a4cf512352b09956a8fa'/>
<id>urn:sha1:01757e5ac9324948ca64a4cf512352b09956a8fa</id>
<content type='text'>
The KCONFIG_WARN_UNDEF test often fails on Python 3.4 (3.5 not tested),
but the output is still correct. It just differs due to dict ordering
randomness.

Python 3.6 iterates over dicts in insertion order in practice, and
Python 3.7 made it part of the spec, so enable the test for 3.6 and
later.

Python 2.7 seems fine as well.
</content>
</entry>
<entry>
<title>Always strip trailing whitespace in 'MenuNode.help' and __str__()</title>
<updated>2018-11-06T10:48:42Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-06T10:16:28Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=7992519be5d59a69dc71f43ec2f34c5594afdb14'/>
<id>urn:sha1:7992519be5d59a69dc71f43ec2f34c5594afdb14</id>
<content type='text'>
Previously, you could get either one or two newlines at the end of
MenuNode.help and the various __str__() methods, though this wasn't
documented.

Always stripping trailing whitespace is cleaner e.g. when using print(),
which automatically appends a trailing newline, and makes things
consistent.

Hopefully nothing relied on the old undocumented behavior. It's fine for
genrest.py at least.
</content>
</entry>
<entry>
<title>Fix removal of multiple consecutive 'if' nodes</title>
<updated>2018-11-02T02:52:46Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-02T01:35:49Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=0e6cd82908f5c649e15e6a63ad77a94f627449d2'/>
<id>urn:sha1:0e6cd82908f5c649e15e6a63ad77a94f627449d2</id>
<content type='text'>
Despite 'if' nodes being flattened before 'if' removal, consecutive 'if'
nodes can still show up for code like the following:

  ...

  if X
  endif

  if X
  endif

  ...

_remove_ifs() failed to remove the second 'if' node, leading to a crash
e.g. when turning on show-all mode in the menuconfig in a menu with such
code (due to the unexpected 'if' node).

Stuff like the above could potentially result from 'osource's with no
matches, though I just spotted the error while looking over the code.

Fix the 'if' removal logic to properly handle consecutive 'if' nodes.
</content>
</entry>
<entry>
<title>Support enabling the assignment-to-undef. symbol warning via the environment</title>
<updated>2018-10-26T21:34:18Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-26T20:23:27Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=699fd81bf3a67606396035697357c5665dcd68af'/>
<id>urn:sha1:699fd81bf3a67606396035697357c5665dcd68af</id>
<content type='text'>
This makes it possible to enable it for the bundled tools, by setting
KCONFIG_WARN_UNDEF_ASSIGN=y. Previously, the code had to be modified to
call Kconfig.enable_undef_warnings().

Also rename KCONFIG_STRICT to KCONFIG_WARN_UNDEF, for consistency. Keep
supporting KCONFIG_STRICT as an alias for backwards compatibility.
</content>
</entry>
<entry>
<title>Allow programmatically expanding preprocessor functions with args</title>
<updated>2018-10-21T15:28:31Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-21T14:09:24Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9a4127a1d5eeac122cb478b0e03d42c9698c41be'/>
<id>urn:sha1:9a4127a1d5eeac122cb478b0e03d42c9698c41be</id>
<content type='text'>
Add a Variable.expanded_value_w_args() function for expanding a
preprocessor function with particular arguments. This is what
expanded_value should have been, because expanded_value_w_args() is more
general (expanded_value corresponds to zero arguments). Keep
expanded_value for backwards compatibility though.

Also add a simple __repr__() to Variable. It could show the expanded
value, but that might mean calling shell functions or user-defined
functions as a side effect (possibly with missing arguments). Not sure
that's a good idea, so just show the unexpanded value.
</content>
</entry>
<entry>
<title>Make Kconfig.choices match its description</title>
<updated>2018-10-16T05:35:53Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-16T04:58:54Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=98af94da6a9ef81c8e2c56fbf60741fa8d2a2dd1'/>
<id>urn:sha1:98af94da6a9ef81c8e2c56fbf60741fa8d2a2dd1</id>
<content type='text'>
Kconfig.choices has accidentally been identical to
Kconfig.unique_choices all along, because named choices defined in
multiple locations (which are pretty obscure) were only added once.

Fix Kconfig.choices to match its description. This simplifies the code a
bit too.

Kconfig.unique_choices is usually what you want.
</content>
</entry>
<entry>
<title>Refactor parsing to get rid of _saved_line</title>
<updated>2018-09-29T16:08:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-09-29T14:27:21Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=c1dcaa3ccbb263f021157f2aebd185c6388c28a1'/>
<id>urn:sha1:c1dcaa3ccbb263f021157f2aebd185c6388c28a1</id>
<content type='text'>
Handle the line-after-help-text case specially, which allows _has_tokens
(renamed to _reuse_tokens) to be used as the unget mechanism for help
texts as well, leaving _saved_line unused. Move the _reuse_tokens check
into _next_line().

This makes _parse_block() as straightforward as _parse_properties(), and
simplifies _parse_properties() a tiny bit too by getting rid of the
'_tokens_i = -1' assignment.
</content>
</entry>
<entry>
<title>Add support for user-defined Python preprocessor functions</title>
<updated>2018-09-23T15:31:20Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-09-20T11:33:59Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=6156041560c75831e003202b790ab3f435bbb388'/>
<id>urn:sha1:6156041560c75831e003202b790ab3f435bbb388</id>
<content type='text'>
Allow preprocessor functions to be defined in Python by putting a module
called 'kconfigfunctions' into sys.path. Internally, this simply adds
the functions to the predefined functions in Kconfig._functions.

User-defined Python functions make it simple to integrate information
from existing Python tools into Kconfig, e.g. to have Kconfig symbols
depend on hardware information stored in some other format. This might
be used to get device tree information into Kconfig in Zephyr.

Piggyback module docstring documentation for some extensions that were
previously only mentioned in the README.
</content>
</entry>
</feed>
