<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/integration/test-solver3-evaluation, branch 2.9.35</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.35</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.35'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-03-26T15:47:37Z</updated>
<entry>
<title>solver3: Correctly deb822-escape error message in evaluation report</title>
<updated>2025-03-26T15:47:37Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-03-26T15:44:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6e5d8929c06cb645e639022477a14ca65d483e32'/>
<id>urn:sha1:6e5d8929c06cb645e639022477a14ca65d483e32</id>
<content type='text'>
The error messages are multi-line now, so need correct escaping.

LP: #2104276
</content>
</entry>
<entry>
<title>solver3: Avoid empty error message in evaluation crash report</title>
<updated>2025-03-20T14:18:05Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-03-20T14:16:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=61b3b1840568b223baad08da1eb9a1fb5d6e7f91'/>
<id>urn:sha1:61b3b1840568b223baad08da1eb9a1fb5d6e7f91</id>
<content type='text'>
whoopsie does not accept empty values
</content>
</entry>
<entry>
<title>solver3: Use zstd-compressed, base64-encoded dumps</title>
<updated>2025-03-20T14:09:56Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-03-20T14:03:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a2cb87afcbc89d1f8e770c26121a75d9c1654458'/>
<id>urn:sha1:a2cb87afcbc89d1f8e770c26121a75d9c1654458</id>
<content type='text'>
Store the solver dumps with zstd compression and base64-encode
them in the crash report; such that they take up significantly
less space and can fit in cassandra's schema.

Base64 is wrapped at 76 characters as the base64 tool does. Do
some magic std::string_view conversion to avoid string copies
for the substr() used to get 76 characters at a time.

Note we can rely on substr(i, 76) to handle less than 76 characters
just fine; it uses std::min(76, size() - i) characters.
</content>
</entry>
<entry>
<title>solver evaluation: write minimized solver dumps</title>
<updated>2025-03-20T09:26:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-03-13T14:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c741e4f3bc7143031f70b5a353aafc004d26c220'/>
<id>urn:sha1:c741e4f3bc7143031f70b5a353aafc004d26c220</id>
<content type='text'>
These are faster to generate and significantly smaller.
</content>
</entry>
<entry>
<title>Print --solver 3.0 explanation if both internal and it failed</title>
<updated>2025-03-09T12:55:23Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-03-09T12:55:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6c112f9860c1730237029f4e23d40bf658d73704'/>
<id>urn:sha1:6c112f9860c1730237029f4e23d40bf658d73704</id>
<content type='text'>
This can provide useful additional context.

To avoid updating the whole test suite for it, introduce a new
option `quiet::NoSolver3Explanation` and set it by default. All
the other tests that assert output will already have matching
tests for --solver 3.0 with the correct messages asserted, it
makes no sense to duplicate them.
</content>
</entry>
<entry>
<title>Evaluate and fall back to the 3.0 solver</title>
<updated>2025-03-09T12:33:53Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-18T12:06:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=935a9ab334e55a29363f45e7de6338c47337e806'/>
<id>urn:sha1:935a9ab334e55a29363f45e7de6338c47337e806</id>
<content type='text'>
Always run the 3.0 solver after the internal solver. If the internal
solver failed, and the 3.0 solver did not, use the 3.0 result.

If 3.0 solver failed or produced a worse result than the internal
solver, write an apport crash dump.

We exclude situations which we now the solver can't handle, i.e.
removals are forbidden and you requested removals, and stuff like
that.
</content>
</entry>
</feed>
