diff --git a/test/py/multiplexed_log.py b/test/py/multiplexed_log.py
index c2a3b89..fd3a923 100644
--- a/test/py/multiplexed_log.py
+++ b/test/py/multiplexed_log.py
@@ -122,7 +122,7 @@
             Nothing.
         """
 
-        msg = "+" + " ".join(cmd) + "\n"
+        msg = '+' + ' '.join(cmd) + '\n'
         if self.chained_file:
             self.chained_file.write(msg)
         self.logfile.write(self, msg)
@@ -202,19 +202,19 @@
             Nothing.
         """
 
-        self.f = open(fn, "wt")
+        self.f = open(fn, 'wt')
         self.last_stream = None
         self.blocks = []
         self.cur_evt = 1
-        shutil.copy(mod_dir + "/multiplexed_log.css", os.path.dirname(fn))
-        self.f.write("""\
+        shutil.copy(mod_dir + '/multiplexed_log.css', os.path.dirname(fn))
+        self.f.write('''\
 <html>
 <head>
 <link rel="stylesheet" type="text/css" href="multiplexed_log.css">
 </head>
 <body>
 <tt>
-""")
+''')
 
     def close(self):
         """Close the log file.
@@ -228,17 +228,17 @@
             Nothing.
         """
 
-        self.f.write("""\
+        self.f.write('''\
 </tt>
 </body>
 </html>
-""")
+''')
         self.f.close()
 
     # The set of characters that should be represented as hexadecimal codes in
     # the log file.
-    _nonprint = ("%" + "".join(chr(c) for c in range(0, 32) if c not in (9, 10)) +
-                 "".join(chr(c) for c in range(127, 256)))
+    _nonprint = ('%' + ''.join(chr(c) for c in range(0, 32) if c not in (9, 10)) +
+                 ''.join(chr(c) for c in range(127, 256)))
 
     def _escape(self, data):
         """Render data format suitable for inclusion in an HTML document.
@@ -253,8 +253,8 @@
             An escaped version of the data.
         """
 
-        data = data.replace(chr(13), "")
-        data = "".join((c in self._nonprint) and ("%%%02x" % ord(c)) or
+        data = data.replace(chr(13), '')
+        data = ''.join((c in self._nonprint) and ('%%%02x' % ord(c)) or
                        c for c in data)
         data = cgi.escape(data)
         return data
@@ -272,11 +272,11 @@
         self.cur_evt += 1
         if not self.last_stream:
             return
-        self.f.write("</pre>\n")
-        self.f.write("<div class=\"stream-trailer\" id=\"" +
-                     self.last_stream.name + "\">End stream: " +
-                     self.last_stream.name + "</div>\n")
-        self.f.write("</div>\n")
+        self.f.write('</pre>\n')
+        self.f.write('<div class="stream-trailer" id="' +
+                     self.last_stream.name + '">End stream: ' +
+                     self.last_stream.name + '</div>\n')
+        self.f.write('</div>\n')
         self.last_stream = None
 
     def _note(self, note_type, msg):
@@ -292,9 +292,9 @@
         """
 
         self._terminate_stream()
-        self.f.write("<div class=\"" + note_type + "\">\n<pre>")
+        self.f.write('<div class="' + note_type + '">\n<pre>')
         self.f.write(self._escape(msg))
-        self.f.write("\n</pre></div>\n")
+        self.f.write('\n</pre></div>\n')
 
     def start_section(self, marker):
         """Begin a new nested section in the log file.
@@ -308,10 +308,10 @@
 
         self._terminate_stream()
         self.blocks.append(marker)
-        blk_path = "/".join(self.blocks)
-        self.f.write("<div class=\"section\" id=\"" + blk_path + "\">\n")
-        self.f.write("<div class=\"section-header\" id=\"" + blk_path +
-                     "\">Section: " + blk_path + "</div>\n")
+        blk_path = '/'.join(self.blocks)
+        self.f.write('<div class="section" id="' + blk_path + '">\n')
+        self.f.write('<div class="section-header" id="' + blk_path +
+                     '">Section: ' + blk_path + '</div>\n')
 
     def end_section(self, marker):
         """Terminate the current nested section in the log file.
@@ -327,13 +327,13 @@
         """
 
         if (not self.blocks) or (marker != self.blocks[-1]):
-            raise Exception("Block nesting mismatch: \"%s\" \"%s\"" %
-                            (marker, "/".join(self.blocks)))
+            raise Exception('Block nesting mismatch: "%s" "%s"' %
+                            (marker, '/'.join(self.blocks)))
         self._terminate_stream()
-        blk_path = "/".join(self.blocks)
-        self.f.write("<div class=\"section-trailer\" id=\"section-trailer-" +
-                     blk_path + "\">End section: " + blk_path + "</div>\n")
-        self.f.write("</div>\n")
+        blk_path = '/'.join(self.blocks)
+        self.f.write('<div class="section-trailer" id="section-trailer-' +
+                     blk_path + '">End section: ' + blk_path + '</div>\n')
+        self.f.write('</div>\n')
         self.blocks.pop()
 
     def section(self, marker):
@@ -495,15 +495,15 @@
 
         if stream != self.last_stream:
             self._terminate_stream()
-            self.f.write("<div class=\"stream\" id=\"%s\">\n" % stream.name)
-            self.f.write("<div class=\"stream-header\" id=\"" + stream.name +
-                         "\">Stream: " + stream.name + "</div>\n")
-            self.f.write("<pre>")
+            self.f.write('<div class="stream" id="%s">\n' % stream.name)
+            self.f.write('<div class="stream-header" id="' + stream.name +
+                         '">Stream: ' + stream.name + '</div>\n')
+            self.f.write('<pre>')
         if implicit:
-            self.f.write("<span class=\"implicit\">")
+            self.f.write('<span class="implicit">')
         self.f.write(self._escape(data))
         if implicit:
-            self.f.write("</span>")
+            self.f.write('</span>')
         self.last_stream = stream
 
     def flush(self):
diff --git a/test/py/test.py b/test/py/test.py
index 9c23898..95671d4 100755
--- a/test/py/test.py
+++ b/test/py/test.py
@@ -16,17 +16,17 @@
 sys.argv.pop(0)
 
 # argv; py.test test_directory_name user-supplied-arguments
-args = ["py.test", os.path.dirname(__file__) + "/tests"]
+args = ['py.test', os.path.dirname(__file__) + '/tests']
 args.extend(sys.argv)
 
 try:
-    os.execvp("py.test", args)
+    os.execvp('py.test', args)
 except:
     # Log full details of any exception for detailed analysis
     import traceback
     traceback.print_exc()
     # Hint to the user that they likely simply haven't installed the required
     # dependencies.
-    print >>sys.stderr, """
+    print >>sys.stderr, '''
 exec(py.test) failed; perhaps you are missing some dependencies?
-See test/py/README.md for the list."""
+See test/py/README.md for the list.'''
diff --git a/test/py/tests/test_dfu.py b/test/py/tests/test_dfu.py
index 0f69eef..c09b902 100644
--- a/test/py/tests/test_dfu.py
+++ b/test/py/tests/test_dfu.py
@@ -258,7 +258,7 @@
         dfu_write(0, dummy_f.abs_fn)
 
         for size in sizes:
-            with u_boot_console.log.section("Data size %d" % size):
+            with u_boot_console.log.section('Data size %d' % size):
                 dfu_write_read_check(size)
                 # Make the status of each sub-test obvious. If the test didn't
                 # pass, an exception was thrown so this code isn't executed.
diff --git a/test/py/tests/test_net.py b/test/py/tests/test_net.py
index 68eedde..07393eb 100644
--- a/test/py/tests/test_net.py
+++ b/test/py/tests/test_net.py
@@ -112,7 +112,7 @@
     """
 
     if not net_set_up:
-        pytest.skip("Network not initialized")
+        pytest.skip('Network not initialized')
 
     output = u_boot_console.run_command('ping $serverip')
     assert 'is alive' in output
@@ -129,7 +129,7 @@
     """
 
     if not net_set_up:
-        pytest.skip("Network not initialized")
+        pytest.skip('Network not initialized')
 
     f = u_boot_console.config.env.get('env__net_tftp_readable_file', None)
     if not f:
diff --git a/test/py/tests/test_shell_basics.py b/test/py/tests/test_shell_basics.py
index 32e5f83..702e5e2 100644
--- a/test/py/tests/test_shell_basics.py
+++ b/test/py/tests/test_shell_basics.py
@@ -31,7 +31,7 @@
 def test_shell_run(u_boot_console):
     """Test the "run" shell command."""
 
-    u_boot_console.run_command('setenv foo \"setenv monty 1; setenv python 2\"')
+    u_boot_console.run_command('setenv foo "setenv monty 1; setenv python 2"')
     u_boot_console.run_command('run foo')
     response = u_boot_console.run_command('echo $monty')
     assert response.strip() == '1'
