diff options
author | Todd Leonhardt <todd.leonhardt@gmail.com> | 2018-03-21 17:56:58 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-21 17:56:58 -0400 |
commit | 3e085fdee07d65054a246a857a3e0f8816a738de (patch) | |
tree | b0119c62cf1f480f1c6bbc7fcaffc9767f78db2d | |
parent | 4cea62a8fb7f5da3cfd4ee32fde831f401c128dc (diff) | |
parent | a1c72448cff540c9d6e610f3973a70cf495aadb6 (diff) | |
download | cmd2-git-3e085fdee07d65054a246a857a3e0f8816a738de.tar.gz |
Merge pull request #326 from python-cmd2/fix_unit_tests_gnureadline
Fix unit tests on macOS when gnureadline is installed
-rw-r--r-- | tests/test_argparse.py | 13 | ||||
-rw-r--r-- | tests/test_completion.py | 14 |
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 f749f084..35d014cd 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() |