<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/testsuite.py, branch v12.8.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v12.8.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v12.8.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2019-06-24T06:57:38Z</updated>
<entry>
<title>Add {Symbol,Choice}.orig_*, corresponding to the MenuNode fields</title>
<updated>2019-06-24T06:57:38Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-24T06:18:06Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=0ca8e78ebaed9ded586162753e8224f8ce7ef4a2'/>
<id>urn:sha1:0ca8e78ebaed9ded586162753e8224f8ce7ef4a2</id>
<content type='text'>
Getting defaults, select, implies, and ranges without dependencies
propagated to conditions can be useful for symbols and choices as well,
e.g. when generating standalone documentation for properties.
</content>
</entry>
<entry>
<title>Shorten __repr__() functions a bit</title>
<updated>2019-06-23T00:52:26Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-23T00:29:14Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=7b97da6821a45ce34e731df68980dea0983cf18c'/>
<id>urn:sha1:7b97da6821a45ce34e731df68980dea0983cf18c</id>
<content type='text'>
Do 'add = fields.append'. Pointless as an optimization, but shaves some
lines, and obvious in context.

Also add test coverage for __repr__() for string symbols with user
values.
</content>
</entry>
<entry>
<title>Improve warning control API (with backwards compatibility)</title>
<updated>2019-06-03T04:50:06Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-02T23:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=bf36f5de0f49d56975b1a844e25484ec385dc971'/>
<id>urn:sha1:bf36f5de0f49d56975b1a844e25484ec385dc971</id>
<content type='text'>
A wart of the warning control API (enable/disable_*_warnings()) is that
the current warning settings can't be queried. Querying warning settings
is useful in functions that want to temporarily enable/disable some
warning and then put things back to how they were.
kconfiglib.load_allconfig() ran into this, for example.

Make the internal warning control variables public (improve the naming
at the same time), and encourage just setting them directly. Keep the
old API for backwards compatibility.

Also remove _warn_redun_assign() and _warn_override(). They're trivial
and were called in a single place.
</content>
</entry>
<entry>
<title>Fix obscure crash with rsource and $srctree pointing to a symlink</title>
<updated>2019-06-01T04:21:54Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-01T02:15:04Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=92791a3fe15bb2d5c14039fbd531be73255f0c6d'/>
<id>urn:sha1:92791a3fe15bb2d5c14039fbd531be73255f0c6d</id>
<content type='text'>
Sourcing a file with an absolute path and using rsource in it triggered
a relpath() between the absolute path and $srctree. Since e.g.
symlink/../bar/ = bar/ is not guaranteed for symlinks, this could lead
to the rsource'd file not being found if $srctree pointed to a symlink.

Switch to a simpler, more textual method for stripping $srctree from
glob results, which should be robust against symlink shenanigans. This
also makes the code a bit easier to follow.

Discovered by Marc Herbert.

Piggyback some minor cleanup.
</content>
</entry>
<entry>
<title>Convert docstrings to comments in testsuite.py</title>
<updated>2019-05-29T00:47:44Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-05-29T00:45:35Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=15de4c0c9924cfeef1553fde21cb9b9e288f6238'/>
<id>urn:sha1:15de4c0c9924cfeef1553fde21cb9b9e288f6238</id>
<content type='text'>
Like was done a long time ago in kconfiglib.py. These functions are not
part of a standalone API.

Keep the docstrings for the compatibility tests, because those get
printed as the tests run.
</content>
</entry>
<entry>
<title>Use the '&lt;type&gt; "prompt"' shorthand in __str__()</title>
<updated>2019-05-25T16:04:15Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-05-25T15:04:09Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9f57bf933508901f07d22c75fca42e62145f5512'/>
<id>urn:sha1:9f57bf933508901f07d22c75fca42e62145f5512</id>
<content type='text'>
Pro: Looks cleaner and matches how definitions are usually written.

Con: Makes it harder to discover that 'bool "foo"' is just shorthand for
'bool' + 'prompt "foo"' (though it's documented).

The pros probably win.
</content>
</entry>
<entry>
<title>Display n/m/y without quotes</title>
<updated>2019-05-25T14:50:07Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-05-25T14:49:35Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e1da7aa4d041d25e4fd5fd1f603f4c28d32b1392'/>
<id>urn:sha1:e1da7aa4d041d25e4fd5fd1f603f4c28d32b1392</id>
<content type='text'>
These are constant symbols, which is why the quotes showed up.
Special-case them to remove the quotes, to match what people expect.

Internally, n/m/y without quotes is taken as a shorthand for
"n"/"m"/"y".
</content>
</entry>
<entry>
<title>Strip direct deps. from property conditions in Symbol/Choice/MenuNode.__str__()</title>
<updated>2019-05-25T14:18:29Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-05-25T11:52:09Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=bb33eed5cc6bdce2b65aa570ecd9a400bcd9c180'/>
<id>urn:sha1:bb33eed5cc6bdce2b65aa570ecd9a400bcd9c180</id>
<content type='text'>
Commit e81a77b ("Consistently put direct deps. last when propagating")
makes the position of the direct deps. in property conditions
predictable after dependency propagation, making it easy to strip them
as needed.

Use this to implement MenuNode.orig_{prompt,defaults,selects,implies,ranges},
which work like the non-orig_* versions but omit the direct deps. Use
those in turn to omit the direct deps in Symbol/Choice.__str__().

The direct deps. (with propagated parent deps.) can still be seen after
'depends on ...', so there is no loss of information.

This unclutters Kconfig definitions shown in menuconfig/guiconfig and in
any generated documentation. The old output also had duplicated
dependencies, though it doesn't matter for evaluation.

Before:

  config A
  	bool
  	prompt "A" if DEP
  	default y if FOO &amp;&amp; DEP
  	depends on DEP

After:

  config A
  	bool
  	prompt "A"
  	default y if FOO
  	depends on DEP
</content>
</entry>
<entry>
<title>Consistently put direct deps. last when propagating</title>
<updated>2019-05-24T11:08:12Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-05-24T10:14:31Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e81a77bdb0687b62f91d7dc4d5b84b443808c0a7'/>
<id>urn:sha1:e81a77bdb0687b62f91d7dc4d5b84b443808c0a7</id>
<content type='text'>
Preparation for some later additions. Previously, the 'visible if' deps
appeared to the right of the 'depends on' deps. Now, the direct deps
always appear last.

With this change, the prompt tuple is only updated once for any given
menu node too, which should be a tiny bit faster.
</content>
</entry>
<entry>
<title>Touch up style a bit in test suite</title>
<updated>2019-05-24T10:21:54Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-05-24T10:20:18Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e806f26a075ba52eca01567c7be7f0b4eba91df5'/>
<id>urn:sha1:e806f26a075ba52eca01567c7be7f0b4eba91df5</id>
<content type='text'>
Ye olde code.
</content>
</entry>
</feed>
