<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/tests, branch v12.10.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v12.10.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v12.10.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>Get test coverage for --help---- and the like</title>
<updated>2019-06-09T12:00:50Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-09T11:35:33Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8453c52291eda9b9d954ac480fd062010f836a3f'/>
<id>urn:sha1:8453c52291eda9b9d954ac480fd062010f836a3f</id>
<content type='text'>
Weirdly formatted _T_HELP tokens are supported for compatibility with
old versions of the C tools.

Also add a lone '#' after the tricky help text. Some reconsidered
refactoring choked on that.
</content>
</entry>
<entry>
<title>Remove reference to Kconfiglib 1 API</title>
<updated>2019-06-03T23:51:58Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-03T23:51:58Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9d37b21392fb5aa732a2692c5aaa3836777cdd28'/>
<id>urn:sha1:9d37b21392fb5aa732a2692c5aaa3836777cdd28</id>
<content type='text'>
</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>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>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>Make {load,write}_config(filename=None) implement the standard behavior</title>
<updated>2018-12-08T02:28:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-12-07T23:41:01Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=7b4f72fa7a19b7c38312a6f6fd553ca45f04e9a6'/>
<id>urn:sha1:7b4f72fa7a19b7c38312a6f6fd553ca45f04e9a6</id>
<content type='text'>
Make the previously obligatory 'filename' argument to load_config() and
write_config() default to None, and have that implement the behavior
you'd usually want: read/write either KCONFIG_CONFIG or ".config" if
unset, and read the 'option defconfig_list' configuration file if
KCONFIG_CONFIG/".config" doesn't exist.

For load_config(), filename=None also allows the configuration file to
be missing without raising an error. load_config() returns True if a
local configuration file was loaded, which is useful to check in the
menuconfig (if no local configuration file exists, we always want to
prompt for saving the configuration when exiting).

Also add a 'verbose' argument (default True) to load_config() and
read_config() that makes them print which files were read/written in
filename=None mode.

Also generalize olddefconfig.py and oldconfig.py to not require there to
already be a local configuration file. This was a bit silly for
olddefconfig.py in particular.

Remove the examples/defconfig.py script. It's a duplicate of
olddefconfig.py.
</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>
</feed>
