Hi David, David Kalnischkies wrote: > On Sat, Feb 13, 2021 at 06:11:03PM +0100, Lucas Nussbaum wrote: > > Relevant part (hopefully): > […] > > > FAIL: cppunit_test > […] > | aptitude_resolver.cc:680 ERROR - Invalid hint "-143 aptitude <4.3.0": the > action "-143" should be "approve", "reject", or a number. […] > So I guess what is intended here is more like: > | char * endptr; > | errno = 0; > | auto score_tweaks = strtol(action.c_str(), &endptr, 10); > | if (errno != 0 || *endptr != '\0')
I applied the following patch locally: --- a/src/generic/apt/aptitude_resolver.cc +++ b/src/generic/apt/aptitude_resolver.cc @@ -673,7 +673,10 @@ else { unsigned long score_tweak = 0; - if(!StrToNum(action.c_str(), score_tweak, action.size())) + char * endptr; + errno = 0; + auto score_tweaks = strtol(action.c_str(), &endptr, 10); + if (errno != 0 || *endptr != '\0') { // TRANSLATORS: actions ("approve", etc.) are keywords and should // not be translated The initially failing test indeed seems fixed, but now another test fails: Test Results: Run: 199 Failures: 1 Errors: 0 1) test: ResolverHintsTest::testHintParse (F) line: 147 ../../tests/test_resolver_hints.cc assertion failed - Expression: h == t.h - Checking 40 g++: tweak 0 ?exact-name("g++") installed == tweak 40 ?exact-name("g++") installed Currently trying to understand why. Regards, Axel -- ,''`. | Axel Beckert <a...@debian.org>, https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `- | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE