rdobuilder 23dcc2
Prefer and use built-in unittest.mock in Python 3.3+ instead
rdobuilder 23dcc2
of unnecessarily requiring the external mock package.  This helps
rdobuilder 23dcc2
distributions that are phasing out Python 2 to remove redundant
rdobuilder 23dcc2
packages.
rdobuilder 23dcc2
rdobuilder 23dcc2
--- a/dev-requirements.txt
rdobuilder 23dcc2
+++ b/dev-requirements.txt
rdobuilder 23dcc2
@@ -4,7 +4,7 @@ invocations==2.6.0
rdobuilder 23dcc2
 pytest==4.4.2
rdobuilder 23dcc2
 # pytest-xdist for test dir watching and the inv guard task
rdobuilder 23dcc2
 pytest-xdist==1.28.0
rdobuilder 23dcc2
-mock==2.0.0
rdobuilder 23dcc2
+mock==2.0.0;python_version<"3.3"
rdobuilder 23dcc2
 # Linting!
rdobuilder 23dcc2
 flake8==3.8.3
rdobuilder 23dcc2
 # Formatting!
rdobuilder 23dcc2
--- a/tests/test_channelfile.py
rdobuilder 23dcc2
+++ b/tests/test_channelfile.py
rdobuilder 23dcc2
@@ -1,4 +1,7 @@
rdobuilder 23dcc2
-from mock import patch, MagicMock
rdobuilder 23dcc2
+try:
rdobuilder 23dcc2
+    from unittest.mock import patch, MagicMock
rdobuilder 23dcc2
+except ImportError:
rdobuilder 23dcc2
+    from mock import patch, MagicMock
rdobuilder 23dcc2
 
rdobuilder 23dcc2
 from paramiko import Channel, ChannelFile, ChannelStderrFile, ChannelStdinFile
rdobuilder 23dcc2
 
rdobuilder 23dcc2
--- a/tests/test_client.py
rdobuilder 23dcc2
+++ b/tests/test_client.py
rdobuilder 23dcc2
@@ -34,7 +34,10 @@ import weakref
rdobuilder 23dcc2
 from tempfile import mkstemp
rdobuilder 23dcc2
 
rdobuilder 23dcc2
 import pytest
rdobuilder 23dcc2
-from mock import patch, Mock
rdobuilder 23dcc2
+try:
rdobuilder 23dcc2
+    from unittest.mock import patch, Mock
rdobuilder 23dcc2
+except ImportError:
rdobuilder 23dcc2
+    from mock import patch, Mock
rdobuilder 23dcc2
 
rdobuilder 23dcc2
 import paramiko
rdobuilder 23dcc2
 from paramiko import SSHClient
rdobuilder 23dcc2
--- a/tests/test_config.py
rdobuilder 23dcc2
+++ b/tests/test_config.py
rdobuilder 23dcc2
@@ -11,7 +11,11 @@ try:
rdobuilder 23dcc2
 except ImportError:
rdobuilder 23dcc2
     Result = None
rdobuilder 23dcc2
 
rdobuilder 23dcc2
-from mock import patch
rdobuilder 23dcc2
+try:
rdobuilder 23dcc2
+    from unittest.mock import patch
rdobuilder 23dcc2
+except ImportError:
rdobuilder 23dcc2
+    from mock import patch
rdobuilder 23dcc2
+
rdobuilder 23dcc2
 from pytest import raises, mark, fixture
rdobuilder 23dcc2
 
rdobuilder 23dcc2
 from paramiko import (
rdobuilder 23dcc2
--- a/tests/test_kex.py
rdobuilder 23dcc2
+++ b/tests/test_kex.py
rdobuilder 23dcc2
@@ -24,7 +24,11 @@ from binascii import hexlify, unhexlify
rdobuilder 23dcc2
 import os
rdobuilder 23dcc2
 import unittest
rdobuilder 23dcc2
 
rdobuilder 23dcc2
-from mock import Mock, patch
rdobuilder 23dcc2
+try:
rdobuilder 23dcc2
+    from unittest.mock import Mock, patch
rdobuilder 23dcc2
+except ImportError:
rdobuilder 23dcc2
+    from mock import Mock, patch
rdobuilder 23dcc2
+
rdobuilder 23dcc2
 import pytest
rdobuilder 23dcc2
 
rdobuilder 23dcc2
 from cryptography.hazmat.backends import default_backend
rdobuilder 23dcc2
--- a/tests/test_pkey.py
rdobuilder 23dcc2
+++ b/tests/test_pkey.py
rdobuilder 23dcc2
@@ -41,7 +41,12 @@ from paramiko.common import o600
rdobuilder 23dcc2
 
rdobuilder 23dcc2
 from cryptography.exceptions import UnsupportedAlgorithm
rdobuilder 23dcc2
 from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateNumbers
rdobuilder 23dcc2
-from mock import patch, Mock
rdobuilder 23dcc2
+
rdobuilder 23dcc2
+try:
rdobuilder 23dcc2
+    from unittest.mock import patch, Mock
rdobuilder 23dcc2
+except ImportError:
rdobuilder 23dcc2
+    from mock import patch, Mock
rdobuilder 23dcc2
+
rdobuilder 23dcc2
 import pytest
rdobuilder 23dcc2
 
rdobuilder 23dcc2
 from .util import _support, is_low_entropy, requires_sha1_signing
rdobuilder 23dcc2
--- a/tests/test_proxy.py
rdobuilder 23dcc2
+++ b/tests/test_proxy.py
rdobuilder 23dcc2
@@ -1,7 +1,11 @@
rdobuilder 23dcc2
 import signal
rdobuilder 23dcc2
 import socket
rdobuilder 23dcc2
 
rdobuilder 23dcc2
-from mock import patch
rdobuilder 23dcc2
+try:
rdobuilder 23dcc2
+    from unittest.mock import patch
rdobuilder 23dcc2
+except ImportError:
rdobuilder 23dcc2
+    from mock import patch
rdobuilder 23dcc2
+
rdobuilder 23dcc2
 from pytest import raises
rdobuilder 23dcc2
 
rdobuilder 23dcc2
 from paramiko import ProxyCommand, ProxyCommandFailure
rdobuilder 23dcc2
--- a/tests/test_transport.py
rdobuilder 23dcc2
+++ b/tests/test_transport.py
rdobuilder 23dcc2
@@ -30,7 +30,11 @@ import time
rdobuilder 23dcc2
 import threading
rdobuilder 23dcc2
 import random
rdobuilder 23dcc2
 import unittest
rdobuilder 23dcc2
-from mock import Mock
rdobuilder 23dcc2
+
rdobuilder 23dcc2
+try:
rdobuilder 23dcc2
+    from unittest.mock import Mock
rdobuilder 23dcc2
+except ImportError:
rdobuilder 23dcc2
+    from mock import Mock
rdobuilder 23dcc2
 
rdobuilder 23dcc2
 from paramiko import (
rdobuilder 23dcc2
     AuthHandler,