Fix test for socket.getfqdn() to also include the name returned by
socket.gethostname() in the check for a valid return.

Also clarified docs (official and docstring) that the value from gethostname()
is returned if gethostbyaddr() doesn't do the job.
diff --git a/Lib/socket.py b/Lib/socket.py
index f96a146..ee2457f 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -102,7 +102,7 @@
 
     First the hostname returned by gethostbyaddr() is checked, then
     possibly existing aliases. In case no FQDN is available, hostname
-    is returned.
+    from gethostname() is returned.
     """
     name = name.strip()
     if not name or name == '0.0.0.0':
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index e6cdb8b..bf2ecae 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -267,7 +267,7 @@
         except socket.error:
             # Probably a similar problem as above; skip this test
             return
-        all_host_names = [hname] + aliases
+        all_host_names = [hostname, hname] + aliases
         fqhn = socket.getfqdn()
         if not fqhn in all_host_names:
             self.fail("Error testing host resolution mechanisms.")