summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/test_argparse.py13
-rw-r--r--tests/test_completion.py14
2 files changed, 25 insertions, 2 deletions
diff --git a/tests/test_argparse.py b/tests/test_argparse.py
index fb8836f3..ae3bde98 100644
--- a/tests/test_argparse.py
+++ b/tests/test_argparse.py
@@ -5,7 +5,6 @@ Cmd2 testing for argument parsing
import argparse
import functools
import pytest
-import readline
import sys
import cmd2
@@ -14,6 +13,18 @@ import six
from conftest import run_cmd, StdOut
+# Prefer statically linked gnureadline if available (for macOS compatibility due to issues with libedit)
+try:
+ import gnureadline as readline
+except ImportError:
+ # Try to import readline, but allow failure for convenience in Windows unit testing
+ # Note: If this actually fails, you should install readline on Linux or Mac or pyreadline on Windows
+ try:
+ # noinspection PyUnresolvedReferences
+ import readline
+ except ImportError:
+ pass
+
class ArgparseApp(cmd2.Cmd):
def __init__(self):
diff --git a/tests/test_completion.py b/tests/test_completion.py
index f6fd5fdc..8af39ae8 100644
--- a/tests/test_completion.py
+++ b/tests/test_completion.py
@@ -10,7 +10,6 @@ Released under MIT license, see LICENSE file
"""
import argparse
import os
-import readline
import sys
import cmd2
@@ -19,6 +18,19 @@ import pytest
from cmd2 import path_complete, basic_complete, flag_based_complete, index_based_complete
+# Prefer statically linked gnureadline if available (for macOS compatibility due to issues with libedit)
+try:
+ import gnureadline as readline
+except ImportError:
+ # Try to import readline, but allow failure for convenience in Windows unit testing
+ # Note: If this actually fails, you should install readline on Linux or Mac or pyreadline on Windows
+ try:
+ # noinspection PyUnresolvedReferences
+ import readline
+ except ImportError:
+ pass
+
+
@pytest.fixture
def cmd2_app():
c = cmd2.Cmd()