diff --git a/serial/serialcli.py b/serial/serialcli.py
index def15bb..16af67a 100644
--- a/serial/serialcli.py
+++ b/serial/serialcli.py
@@ -253,22 +253,3 @@
 
     # - - platform specific - - - -
     # none
-
-
-# Nur Testfunktion!!
-if __name__ == '__main__':
-    import sys
-
-    s = Serial(0)
-    sys.stdio.write('%s\n' % s)
-
-    s = Serial()
-    sys.stdio.write('%s\n' % s)
-
-
-    s.baudrate = 19200
-    s.databits = 7
-    s.close()
-    s.port = 0
-    s.open()
-    sys.stdio.write('%s\n' % s)
diff --git a/serial/serialjava.py b/serial/serialjava.py
index e5f4451..7bd5b3e 100644
--- a/serial/serialjava.py
+++ b/serial/serialjava.py
@@ -247,23 +247,3 @@
         if not self.sPort:
             raise portNotOpenError
         self.sPort.isCD()
-
-
-if __name__ == '__main__':
-    s = Serial(0,
-         baudrate=19200,        # baudrate
-         bytesize=EIGHTBITS,    # number of databits
-         parity=PARITY_EVEN,    # enable parity checking
-         stopbits=STOPBITS_ONE, # number of stopbits
-         timeout=3,             # set a timeout value, None for waiting forever
-         xonxoff=0,             # enable software flow control
-         rtscts=0,              # enable RTS/CTS flow control
-    )
-    s.setRTS(1)
-    s.setDTR(1)
-    s.reset_input_buffer()
-    s.reset_output_buffer()
-    s.write('hello')
-    sys.stdio.write('%r\n' % s.read(5))
-    sys.stdio.write('%s\n' % s.in_waiting())
-    del s
diff --git a/serial/serialposix.py b/serial/serialposix.py
index 5f54786..df73633 100644
--- a/serial/serialposix.py
+++ b/serial/serialposix.py
@@ -778,23 +778,3 @@
                 break
             read.extend(buf)
         return bytes(read)
-
-
-if __name__ == '__main__':
-    s = Serial(0,
-               baudrate=19200,         # baud rate
-               bytesize=serial.EIGHTBITS,     # number of data bits
-               parity=serial.PARITY_EVEN,     # enable parity checking
-               stopbits=serial.STOPBITS_ONE,  # number of stop bits
-               timeout=3,              # set a timeout value, None for waiting forever
-               xonxoff=0,              # enable software flow control
-               rtscts=0,               # enable RTS/CTS flow control
-               )
-    s.rts = True
-    s.dtr = True
-    s.reset_input_buffer()
-    s.reset_output_buffer()
-    s.write('hello')
-    sys.stdout.write('%r\n' % s.read(5))
-    sys.stdout.write('%s\n' % s.inWaiting())
-    del s
diff --git a/serial/serialwin32.py b/serial/serialwin32.py
index ba9ed44..f23baba 100644
--- a/serial/serialwin32.py
+++ b/serial/serialwin32.py
@@ -419,20 +419,3 @@
         if not win32.ClearCommError(self._port_handle, ctypes.byref(flags), ctypes.byref(comstat)):
             raise SerialException('call to ClearCommError failed')
         return comstat.cbOutQue
-
-
-# Nur Testfunktion!!
-if __name__ == '__main__':
-    import sys
-    s = Serial(0)
-    sys.stdout.write("%s\n" % s)
-
-    s = Serial()
-    sys.stdout.write("%s\n" % s)
-
-    s.baudrate = 19200
-    s.databits = 7
-    s.close()
-    s.port = 0
-    s.open()
-    sys.stdout.write("%s\n" % s)
