<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/debian/tests/control, branch 2.9.18</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.18</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.18'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-12-18T09:25:24Z</updated>
<entry>
<title>Introduce automatic pager for read commands</title>
<updated>2024-12-18T09:25:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2024-12-16T16:05:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6e260e26e4cd671f781151e24d89a17b29a55530'/>
<id>urn:sha1:6e260e26e4cd671f781151e24d89a17b29a55530</id>
<content type='text'>
Automatically show the output of `show`, `policy`, `list`,
`search`, `showsrc` in a pager.

The pager setup is inspired by git's pager setup. Notably,
the pager is found using APT_PAGER and PAGER variables.

We wait for the pager to be setup somewhat correctly by
using a notify pipe to figure out whether execvp() was
succesful - then the pipe will read EOF as the other end
got closed by CLOEXEC during exec - or not, then the pipe
will contain an errno.

We set up the correct handlers for signals and exit to close
the fds and wait for the pager. Notably inside the signal
handler we cannot flush our streams, only close them, so
there is some duplication.

We call the InitOutputPager() function from inside the
various Do...() functions rather than setting it up
generally in InitOutput(). Doing so allows us to first
render the progress without a pager, and then setup
the pager for the content only which improves user
experience.

When we setup a pager we also take care to disable
standard input, as we should not be prompting users
while a pager is running (the pager will be reading
from the tty directly). We do this by dup2-ing() a
/dev/null over it; if we just close()d the fd, another
open() might reuse the fd number and problems could
occur.
</content>
</entry>
<entry>
<title>test: Ensure we test both gpgv-g10code and gpgv-sq</title>
<updated>2024-11-22T15:44:02Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-11-22T15:20:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e983d98c4fcd952ffcbc010b185455913c8af650'/>
<id>urn:sha1:e983d98c4fcd952ffcbc010b185455913c8af650</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests: Temporarily disable valgrind-if-available on armhf and ppc64el</title>
<updated>2024-11-20T15:13:18Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-11-20T15:11:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b7a14e989ad1d1cef6038f85f92daef5fe90e3d6'/>
<id>urn:sha1:b7a14e989ad1d1cef6038f85f92daef5fe90e3d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'json-config' into 'main'</title>
<updated>2024-11-14T14:38:32Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2024-11-14T14:38:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8f10ee850db3892bc979694864451be3a73ad1e8'/>
<id>urn:sha1:8f10ee850db3892bc979694864451be3a73ad1e8</id>
<content type='text'>
JSON: Pass options to hooks in hello message

See merge request apt-team/apt!389</content>
</entry>
<entry>
<title>test: Prettify JSON tests using jq</title>
<updated>2024-11-12T13:39:22Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-11-11T12:16:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5685e944b0e9808d6f3edc9e14000c3879818ffc'/>
<id>urn:sha1:5685e944b0e9808d6f3edc9e14000c3879818ffc</id>
<content type='text'>
This also ensures that our JSON is actually correct
JSON.

echo may fail now with EPIPE, given that it is multiline, so
wrap it in 2&gt;/dev/null
</content>
</entry>
<entry>
<title>Only run valgrind in tests if valgrind available on host</title>
<updated>2024-11-11T14:14:07Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-11T14:06:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=df72264891212bc9846649f3f769a1c44fe787bf'/>
<id>urn:sha1:df72264891212bc9846649f3f769a1c44fe787bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests: Add g++ dependency to pkg-config test</title>
<updated>2022-05-17T16:50:09Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2022-05-17T16:49:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f15178f139469b55e23133ca95facab464e2439a'/>
<id>urn:sha1:f15178f139469b55e23133ca95facab464e2439a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Mark pkg-config-test autopkgtest as superficial</title>
<updated>2022-05-07T08:45:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-20T16:42:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a48a432223e9feb3e70b6d7dee09d035f594eeed'/>
<id>urn:sha1:a48a432223e9feb3e70b6d7dee09d035f594eeed</id>
<content type='text'>
Reorganising the control file allows this simple test to run first and
be marked as superficial which makes no practical difference, but is
more correct.
</content>
</entry>
<entry>
<title>Try to show core dump info in test framework</title>
<updated>2021-08-28T19:11:33Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-04-25T20:26:42Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=255ec5a46aa55ad96e7dc7f9d43d5cdf71627812'/>
<id>urn:sha1:255ec5a46aa55ad96e7dc7f9d43d5cdf71627812</id>
<content type='text'>
If the system tells us that a core dump was created we should try to
display the contained info as that system might not be easily available
when we see the error (like C-I or autopkgtest).

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>Require dpkg &gt;= 1.20.8</title>
<updated>2021-04-21T09:49:50Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-14T08:42:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=30f47dc8d67be28c7c17db3bd5153d76a1e079bc'/>
<id>urn:sha1:30f47dc8d67be28c7c17db3bd5153d76a1e079bc</id>
<content type='text'>
We use a Breaks for the binary package instead of adding
a versioned depends, as Breaks will cause apt solver to upgrade dpkg,
while depends would make apt try to remove apt as first choice.
</content>
</entry>
</feed>
