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

_______________________________________________
Aptitude-devel mailing list
Aptitude-devel@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/aptitude-devel

Reply via email to