<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/testsuite.py, branch v10.2.1</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.2.1</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.2.1'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-08-23T23:01:36Z</updated>
<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>
<entry>
<title>Flag extra tokens after 'if'/'depends on'/'visible if' expressions</title>
<updated>2018-08-22T22:51:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-22T22:22:10Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=4ebc2aa72f41a9c5739ee8a8ad89bdfa0a489a2d'/>
<id>urn:sha1:4ebc2aa72f41a9c5739ee8a8ad89bdfa0a489a2d</id>
<content type='text'>
Extra trailing tokens after 'if &lt;expr&gt;', 'depends on &lt;expr&gt;', and
'visible if &lt;expr&gt;' now trigger syntax errors instead of being ignored.
Oversight.

This indirectly makes Kconfig.eval_expr() detect extra trailing tokens
as well.
</content>
</entry>
<entry>
<title>Add a generic node iterator</title>
<updated>2018-08-22T21:57:17Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-22T20:08:06Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=7dae98803a6fc5d08041d1387e2e0d83fc0eb0ed'/>
<id>urn:sha1:7dae98803a6fc5d08041d1387e2e0d83fc0eb0ed</id>
<content type='text'>
Suggested by Mitja Horvat (pinkfluid) in
https://github.com/ulfalizer/Kconfiglib/pull/50.

Kconfig.node_iter() iterates through all menu nodes in the menu tree in
Kconfig order. This saves scripts the trouble of implementing their own
tree walking code.

Have node_iter() take a 'unique_syms' flag that can be enabled to only
include symbols defined in multiple locations once. This is often what
you want when generating output (and is used by write_config()). Order
is still preserved.

Piggyback a fix to a syntax error test comment. Parsing has been
tightened up now.
</content>
</entry>
<entry>
<title>Merge Symbol._checked and Symbol._written</title>
<updated>2018-08-21T19:17:45Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T18:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=a3252f620fad970bbe8b7470401a04ee4225193e'/>
<id>urn:sha1:a3252f620fad970bbe8b7470401a04ee4225193e</id>
<content type='text'>
These are never used at the same time, and Symbol._visited is a good
name for both.

Gets rid of an internal attribute.
</content>
</entry>
<entry>
<title>Handle multiple definition locations in a nicer way</title>
<updated>2018-08-21T18:45:27Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T17:48:22Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=67e890cc9d926213fbec93afb3ee14e6c24f9a50'/>
<id>urn:sha1:67e890cc9d926213fbec93afb3ee14e6c24f9a50</id>
<content type='text'>
Instead of precalculating a set() to get unique symbols, precalculate a
list with any duplicates from multiple definition locations removed, and
preserve the order of the symbols within it.

This makes it possible to get rid of the Symbol._written shenanigans in
functions that only need to iterate through unique symbols in sorted
order, which is all of them except write_config() (because it needs to
walk the entire menu tree).
</content>
</entry>
<entry>
<title>Fix header/minimal configuration ordering test</title>
<updated>2018-08-21T13:40:53Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T13:40:53Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=c16d3f5a2c956e27a398b16f09dc18ead2b27b05'/>
<id>urn:sha1:c16d3f5a2c956e27a398b16f09dc18ead2b27b05</id>
<content type='text'>
Should test write_autoconf(), not write_config().
</content>
</entry>
<entry>
<title>Make header symbol order match .config symbol order again</title>
<updated>2018-08-21T13:19:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T12:08:55Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=d78c293c41351256f76fb2fa27e72e399b130e4f'/>
<id>urn:sha1:d78c293c41351256f76fb2fa27e72e399b130e4f</id>
<content type='text'>
I accidentally broke this when I added the _defined_syms_set
optimization. No semantic difference, but having the order match is more
readable.
</content>
</entry>
<entry>
<title>Look up the top-level Kconfig file relative to $srctree</title>
<updated>2018-08-18T01:15:46Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-17T19:04:43Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=f247ddf618ad29718e5efd3e69f8baf75d4d347b'/>
<id>urn:sha1:f247ddf618ad29718e5efd3e69f8baf75d4d347b</id>
<content type='text'>
Due to an old design braino, the top-level Kconfig filename passed to
Kconfig.__init__() wasn't looked up relative to $srctree, breaking
out-of-tree usage for e.g. menuconfig. Fixing it required ugliness like

  srctree = os.environ.get("srctree", "")
  kconfiglib.Kconfig(os.path.join(srctree, "Kconfig"))

Change the behavior of Kconfig.__init__() to look up the top-level
Kconfig file relative to $srctree. This means that all Kconfig files
(both the top-level file and any source'd files) now use $srctree, which
makes the vast majority of scripts just work when running out-of-tree.

Also remove the note re. loading a subset of Kconfig files. Saying that
the top-level file and all source'd Kconfig files are looked up relative
to $srctree should make the behavior clear enough.

Print a note about the new behavior whenever the top-level Kconfig file
can't be opened, as this change could be breaking for some scripts.

This is a slight backwards-compatiblity break, so the major version will
be bumped.
</content>
</entry>
</feed>
