Replace the only EGD call by urandom

Also harmonize documentation.  #boyScout
diff --git a/tests/test_rand.py b/tests/test_rand.py
index 8064011..ece0935 100644
--- a/tests/test_rand.py
+++ b/tests/test_rand.py
@@ -5,11 +5,12 @@
 Unit tests for :py:obj:`OpenSSL.rand`.
 """
 
-from unittest import main
 import os
 import stat
 import sys
 
+import pytest
+
 from OpenSSL import rand
 
 from .util import NON_ASCII, TestCase, b
@@ -97,40 +98,26 @@
         # entropy or not.
         self.assertTrue(rand.status() in (1, 2))
 
+    def test_egd_warning(self):
+        """
+        Calling egd raises :exc:`DeprecationWarning`.
+        """
+        pytest.deprecated_call(rand.egd, b"foo", 255)
+        pytest.deprecated_call(rand.egd, b"foo")
+
     def test_egd_wrong_args(self):
         """
-        :py:obj:`OpenSSL.rand.egd` raises :py:obj:`TypeError` when called with
-        the wrong number of arguments or with arguments not of type
-        :py:obj:`str` and :py:obj:`int`.
+        :meth:`OpenSSL.rand.egd` raises :exc:`TypeError` when called with the
+        wrong number of arguments or with arguments not of type :obj:`str` and
+        :obj:`int`.
         """
-        self.assertRaises(TypeError, rand.egd)
-        self.assertRaises(TypeError, rand.egd, None)
-        self.assertRaises(TypeError, rand.egd, "foo", None)
-        self.assertRaises(TypeError, rand.egd, None, 3)
-        self.assertRaises(TypeError, rand.egd, "foo", 3, None)
-
-    def test_egd_missing(self):
-        """
-        :py:obj:`OpenSSL.rand.egd` returns :py:obj:`0` or :py:obj:`-1` if the
-        EGD socket passed to it does not exist.
-        """
-        result = rand.egd(self.mktemp())
-        expected = (-1, 0)
-        self.assertTrue(
-            result in expected,
-            "%r not in %r" % (result, expected))
-
-    def test_egd_missing_and_bytes(self):
-        """
-        :py:obj:`OpenSSL.rand.egd` returns :py:obj:`0` or :py:obj:`-1` if the
-        EGD socket passed to it does not exist even if a size argument is
-        explicitly passed.
-        """
-        result = rand.egd(self.mktemp(), 1024)
-        expected = (-1, 0)
-        self.assertTrue(
-            result in expected,
-            "%r not in %r" % (result, expected))
+        for args in [(),
+                     (None,),
+                     ("foo", None),
+                     (None, 3),
+                     ("foo", 3, None)]:
+            with pytest.raises(TypeError):
+                rand.egd(*args)
 
     def test_cleanup_wrong_args(self):
         """
@@ -206,7 +193,3 @@
         """
         path = self.mktemp().decode('utf-8') + NON_ASCII
         self._read_write_test(path)
-
-
-if __name__ == '__main__':
-    main()