<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/testsuite.py, branch v10.11.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.11.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.11.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-09-29T16:08:52Z</updated>
<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>
<entry>
<title>Fix a testsuite-related error for powerpc</title>
<updated>2018-09-08T17:33:47Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-09-08T16:39:50Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=85bb53f3ff2210e129ac0185d9231dbbf75afdee'/>
<id>urn:sha1:85bb53f3ff2210e129ac0185d9231dbbf75afdee</id>
<content type='text'>
The LD environment variable needs to be set now (in 4.19-rc2). It's
referenced by LD_DEAD_CODE_DATA_ELIMINATION.

The tests probably ought to run everything run via 'scriptconfig' in a
clean environment, because 'scriptconfig' automatically picks up
environment variables anyway. The current setup is nice in that it
indirectly catches stuff that might affect the defconfig tests though,
which don't use scriptconfig.
</content>
</entry>
<entry>
<title>Allow macro expansion within symbol names</title>
<updated>2018-09-04T18:49:21Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-09-04T16:05:28Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=a092257a49ed7850913cf53e474f4c8dd175c94b'/>
<id>urn:sha1:a092257a49ed7850913cf53e474f4c8dd175c94b</id>
<content type='text'>
The C implementation supports this (though it's undocumented, and unused
to far).

This can be used e.g. to dynamically instatiate symbols from template
files:

Kconfig.template:

    config $(subsys)_LOG
	bool "Enable logging for $(subsys)"
	depends on $(subsys)_HAS_LOG

    ... other stuff dependent on $(subsys)

Elsewhere:

    subsys = FOO
    source "Kconfig.template"

    subsys = BAR
    source "Kconfig.template"

Pretty sure this can easily be abused, but it should be supported at
least.
</content>
</entry>
<entry>
<title>Allow user values on 'option env' symbols</title>
<updated>2018-08-30T07:13:22Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-30T06:37:59Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=66832138bfb0e82190b55fb410104d969cbc829b'/>
<id>urn:sha1:66832138bfb0e82190b55fb410104d969cbc829b</id>
<content type='text'>
Gets rid of a check, doesn't hurt. The check was added before
'option env' was changed to just add a 'default' under the hood.

Note: New Kconfig code doesn't need 'option env'. Environment variables
are now expanded directly, including in the C tools. 'option env' is
only maintained for backwards compatibility.
</content>
</entry>
<entry>
<title>Add a Kconfig.env_vars attribute that lists env. variables</title>
<updated>2018-08-25T18:32:34Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-25T18:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=932d0f7b8a69bdcac5d945de600ce6be807aeff7'/>
<id>urn:sha1:932d0f7b8a69bdcac5d945de600ce6be807aeff7</id>
<content type='text'>
Kconfig.env_vars is a set() with the names of all environment variables
referenced in the configuration.

Can be used e.g. for custom incremental build implementations, though
sync_deps() already indirectly catches any relevant changes to
environment variables.
</content>
</entry>
<entry>
<title>Add a Kconfig.kconfig_filenames attribute</title>
<updated>2018-08-25T17:23:22Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-25T05:21:02Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=20de53b6a29fcfd2d91e815c5698b9b806a908f4'/>
<id>urn:sha1:20de53b6a29fcfd2d91e815c5698b9b806a908f4</id>
<content type='text'>
Kconfig.kconfig_filenames is an ordered list of all Kconfig files
included in the configuration, relative to $srctree.

Can be used e.g. for custom incremental build implementations, though
sync_deps() already indirectly catches any relevant changes to files.

Piggyback some ' -&gt; " quote style consistency cleanups.
</content>
</entry>
<entry>
<title>Show include paths in menuconfig symbol information</title>
<updated>2018-08-23T23:01:36Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-23T00:43:00Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=13884e934ec8eda928234c6506ae27f0334ec31b'/>
<id>urn:sha1:13884e934ec8eda928234c6506ae27f0334ec31b</id>
<content type='text'>
Add a MenuNode.include_path attribute that holds a tuple of
(filename, linenr) tuples, giving the locations of the 'source'
statements via which the node's Kconfig file was included, starting from
the top-level Kconfig file.

Use MenuNode.include_path to give the include path for symbols and other
items in the help display in the menuconfig interface. This is useful
for figuring out how Kconfig files are organized, and when reorganizing
things.
</content>
</entry>
<entry>
<title>Exclude User-mode Linux from testing</title>
<updated>2018-08-23T09:42:49Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-23T09:25:13Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=b1c24c85794731a78c4847a4849f53307dfebacc'/>
<id>urn:sha1:b1c24c85794731a78c4847a4849f53307dfebacc</id>
<content type='text'>
This "architecture" has an unorthodox Kconfig setup that would require a
different testing setup.
</content>
</entry>
<entry>
<title>Fix recursive 'source' error reporting</title>
<updated>2018-08-23T09:42:49Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-23T08:45:42Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=3aca83eaf20f5e278b6d260cb255e6a9385590db'/>
<id>urn:sha1:3aca83eaf20f5e278b6d260cb255e6a9385590db</id>
<content type='text'>
The recursive 'source' detection was still fine, but the error reporting
had broken due a missed variable renaming.

The test suite didn't catch it, because a different type of KconfigError
was raised instead, due to a separate error in the test suite (need to
include tests/Krecursive{1,2}, since paths are relative to $srctree).

Fix the variable name and tighten up the tests to check that the
KconfigError message is the one we except. Tighten up the dependency
loop detection tests in the same way too.
</content>
</entry>
</feed>
