The included unit test case previously failed with this error:

  emerge: error: unrecognized arguments: dev-libs/A

Bug: https://bugs.gentoo.org/784566
Signed-off-by: Zac Medico <zmed...@gentoo.org>
---
 lib/_emerge/main.py                     |  2 +-
 lib/portage/tests/emerge/test_simple.py | 10 +++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/lib/_emerge/main.py b/lib/_emerge/main.py
index 31e690584..191be6479 100644
--- a/lib/_emerge/main.py
+++ b/lib/_emerge/main.py
@@ -834,7 +834,7 @@ def parse_opts(tmpcmdline, silent=False):
 
        tmpcmdline = insert_optional_args(tmpcmdline)
 
-       myoptions = parser.parse_args(args=tmpcmdline)
+       myoptions = getattr(parser, "parse_intermixed_args", 
parser.parse_args)(args=tmpcmdline)
 
        if myoptions.alert in true_y:
                myoptions.alert = True
diff --git a/lib/portage/tests/emerge/test_simple.py 
b/lib/portage/tests/emerge/test_simple.py
index 6e282337f..5b110407f 100644
--- a/lib/portage/tests/emerge/test_simple.py
+++ b/lib/portage/tests/emerge/test_simple.py
@@ -1,6 +1,7 @@
 # Copyright 2011-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+import argparse
 import subprocess
 
 import portage
@@ -289,7 +290,14 @@ call_has_and_best_version() {
                        port=binhost_server.server_port,
                        path=binhost_remote_path)
 
-               test_commands = (
+               test_commands = ()
+
+               if hasattr(argparse.ArgumentParser, "parse_intermixed_args"):
+                       test_commands += (
+                               emerge_cmd + ("--oneshot", "dev-libs/A", "-v", 
"dev-libs/A"),
+                       )
+
+               test_commands += (
                        emerge_cmd + ("--usepkgonly", "--root", cross_root, 
"--quickpkg-direct=y", "--quickpkg-direct-root", "/", "dev-libs/A"),
                        emerge_cmd + ("--usepkgonly", "--quickpkg-direct=y", 
"--quickpkg-direct-root", cross_root, "dev-libs/A"),
                        env_update_cmd,
-- 
2.26.2


Reply via email to