Add extra debug to _read_long_output

Also pass in the text of the command we're reading output from, might
help with debugging issues

Change-Id: Ib62c48c535ace012231491703815862543497449
diff --git a/drivers/CiscoSX300.py b/drivers/CiscoSX300.py
index f933af3..2f28f76 100644
--- a/drivers/CiscoSX300.py
+++ b/drivers/CiscoSX300.py
@@ -183,7 +183,7 @@
             regex = re.compile('^ *(\d+).*(D|S|G|R)')
 
             self._cli("show vlan")
-            for line in self._read_long_output():
+            for line in self._read_long_output("show vlan"):
                 match = regex.match(line)
                 if match:
                     vlans.append(int(match.group(1)))
@@ -202,7 +202,7 @@
             name = None
             regex = re.compile('^ *\d+\s+(\S+).*(D|S|G|R)')
             self._cli("show vlan tag %d" % tag)
-            for line in self._read_long_output():
+            for line in self._read_long_output("show vlan tag"):
                 match = regex.match(line)
                 if match:
                     name = match.group(1)
@@ -252,7 +252,7 @@
 
         try:
             self._cli("show interfaces switchport %s" % port)
-            for line in self._read_long_output():
+            for line in self._read_long_output("show interfaces switchport"):
                 match = regex.match(line)
                 if match:
                     mode = match.group(1)
@@ -351,7 +351,7 @@
 
         try:
             self._cli("show interfaces switchport %s" % port)
-            for line in self._read_long_output():
+            for line in self._read_long_output("show interfaces switchport"):
                 match = regex.match(line)
                 if match:
                     vlan = match.group(1)
@@ -374,7 +374,7 @@
 
         try:
             self._cli("show interfaces switchport %s" % port)
-            for line in self._read_long_output():
+            for line in self._read_long_output("show interfaces switchport"):
                 match = regex.match(line)
                 if match:
                     vlans.append (int(match.group(1)))
@@ -467,14 +467,14 @@
     def _end_configure(self):
         self._cli("end")
 
-    def _read_long_output(self):
+    def _read_long_output(self, text):
         prompt = self._prompt_name + '#'
         try:
             self.connection.expect(prompt)
         except (pexpect.EOF, pexpect.TIMEOUT):
             # Something went wrong; logout, log in and try again!
             logging.error("PEXPECT FAILURE, RECONNECT")
-            self.errors.log_error_in("")
+            self.errors.log_error_in(text)
             raise PExpectError("_read_long_output failed")
         except:
             logging.error("prompt is \"%s\"", prompt)
@@ -495,7 +495,7 @@
 
         try:
             self._cli("show interfaces status detailed")
-            for line in self._read_long_output():
+            for line in self._read_long_output("show interfaces status detailed"):
                 match = regex.match(line)
                 if match:
                     interfaces.append(match.group(1))
@@ -509,7 +509,7 @@
         logging.debug("Grabbing config")
         try:
             self._cli("show running-config")
-            return self._read_long_output()
+            return self._read_long_output("show running-config")
         except PExpectError:
             # recurse on error
             self._switch_connect()
@@ -519,7 +519,7 @@
         logging.debug("Grabbing time")
         try:
             self._cli("show clock")
-            return self._read_long_output()
+            return self._read_long_output("show clock")
         except PExpectError:
             # recurse on error
             self._switch_connect()
@@ -531,12 +531,12 @@
         try:
             self.systemdata = []
             self._cli("show system")
-            for line in self._read_long_output():
+            for line in self._read_long_output("show system"):
                 self.systemdata.append(line)
 
             logging.debug("Grabbing system sw and hw versions")
             self._cli("show version")
-            for line in self._read_long_output():
+            for line in self._read_long_output("show version"):
                 self.systemdata.append(line)
 
         except PExpectError: