PEP8: fix E703: statement ends with a semicolon
authorJoe Guo <joeg@catalyst.net.nz>
Mon, 30 Jul 2018 06:22:11 +0000 (18:22 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Fri, 24 Aug 2018 05:49:30 +0000 (07:49 +0200)
Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
19 files changed:
python/samba/dbchecker.py
python/samba/drs_utils.py
python/samba/netcmd/domain.py
python/samba/netcmd/user.py
python/samba/provision/__init__.py
python/samba/provision/sambadns.py
python/samba/tests/password_hash_gpgme.py
python/samba/tests/py_credentials.py
python/samba/tests/samba3sam.py
python/samba/tests/smb.py
python/samba/upgrade.py
script/generate_param.py
source3/build/charset.py
source4/dsdb/tests/python/password_lockout.py
source4/scripting/devel/pfm_verify.py
source4/selftest/tests.py
source4/torture/drs/python/repl_move.py
wintest/test-s3.py
wintest/wintest.py

index bdc1874f5636337d8f06c18a6600333292d016c0..dfdbcf46655e82dd9bfb54e1a23ee801545b928c 100644 (file)
@@ -800,7 +800,7 @@ newSuperior: %s""" % (str(from_dn), str(to_rdn), str(to_base)))
         keep_transaction = False
         self.samdb.transaction_start()
         try:
         keep_transaction = False
         self.samdb.transaction_start()
         try:
-            nc_root = self.samdb.get_nc_root(obj.dn);
+            nc_root = self.samdb.get_nc_root(obj.dn)
             lost_and_found = self.samdb.get_wellknown_dn(nc_root, dsdb.DS_GUID_LOSTANDFOUND_CONTAINER)
             new_dn = ldb.Dn(self.samdb, str(obj.dn))
             new_dn.remove_base_components(len(new_dn) - 1)
             lost_and_found = self.samdb.get_wellknown_dn(nc_root, dsdb.DS_GUID_LOSTANDFOUND_CONTAINER)
             new_dn = ldb.Dn(self.samdb, str(obj.dn))
             new_dn.remove_base_components(len(new_dn) - 1)
index 4db8fa00a58bf23a5bb7885104fe96c57367824b..7573b62b11ccb4e0bbb706d230949f9fea81e7d5 100644 (file)
@@ -80,7 +80,7 @@ def sendDsReplicaSync(drsuapiBind, drsuapi_handle, source_dsa_guid,
     nc.dn = naming_context
 
     req1 = drsuapi.DsReplicaSyncRequest1()
     nc.dn = naming_context
 
     req1 = drsuapi.DsReplicaSyncRequest1()
-    req1.naming_context = nc;
+    req1.naming_context = nc
     req1.options = req_option
     req1.source_dsa_guid = misc.GUID(source_dsa_guid)
 
     req1.options = req_option
     req1.source_dsa_guid = misc.GUID(source_dsa_guid)
 
index 84ed5a51111b4a231400c0432c76d926fe1d1232..7bee4bb2eaae42b93dd33787e7bd7d700540f3d0 100644 (file)
@@ -850,7 +850,7 @@ class cmd_domain_demote(Command):
                 nc.dn = str(part)
 
                 req1 = drsuapi.DsReplicaSyncRequest1()
                 nc.dn = str(part)
 
                 req1 = drsuapi.DsReplicaSyncRequest1()
-                req1.naming_context = nc;
+                req1.naming_context = nc
                 req1.options = drsuapi.DRSUAPI_DRS_WRIT_REP
                 req1.source_dsa_guid = misc.GUID(ntds_guid)
 
                 req1.options = drsuapi.DRSUAPI_DRS_WRIT_REP
                 req1.source_dsa_guid = misc.GUID(ntds_guid)
 
@@ -1963,7 +1963,7 @@ class DomainTrustCommand(Command):
             w = "__unknown__%08X__" % v32
 
         r = "0x%x (%s)" % (v, w)
             w = "__unknown__%08X__" % v32
 
         r = "0x%x (%s)" % (v, w)
-        return r;
+        return r
 
     def generic_bitmap_to_string(self, b_dict, v, names_only=False):
 
 
     def generic_bitmap_to_string(self, b_dict, v, names_only=False):
 
@@ -1984,7 +1984,7 @@ class DomainTrustCommand(Command):
         if names_only:
             return w
         r = "0x%x (%s)" % (v, w)
         if names_only:
             return w
         r = "0x%x (%s)" % (v, w)
-        return r;
+        return r
 
     def trustType_string(self, v):
         types = {
 
     def trustType_string(self, v):
         types = {
@@ -2226,7 +2226,7 @@ class cmd_domain_trust_show(DomainTrustCommand):
             local_tdo_forest.count = 0
             local_tdo_forest.entries = []
 
             local_tdo_forest.count = 0
             local_tdo_forest.entries = []
 
-        self.outf.write("TrustedDomain:\n\n");
+        self.outf.write("TrustedDomain:\n\n")
         self.outf.write("NetbiosName:    %s\n" % local_tdo_info.netbios_name.string)
         if local_tdo_info.netbios_name.string != local_tdo_info.domain_name.string:
             self.outf.write("DnsName:        %s\n" % local_tdo_info.domain_name.string)
         self.outf.write("NetbiosName:    %s\n" % local_tdo_info.netbios_name.string)
         if local_tdo_info.netbios_name.string != local_tdo_info.domain_name.string:
             self.outf.write("DnsName:        %s\n" % local_tdo_info.domain_name.string)
index b14700213d5994297d6b600335eba52164efcce6..06a7f545cb229a9a5d916bd3030e4f77027c5bda 100644 (file)
@@ -1867,7 +1867,7 @@ samba-tool user syncpasswords --terminate \\
                 self.samdb_url = H
                 self.dirsync_filter = dirsync_filter
                 self.dirsync_attrs = dirsync_attrs
                 self.samdb_url = H
                 self.dirsync_filter = dirsync_filter
                 self.dirsync_attrs = dirsync_attrs
-                self.dirsync_controls = ["dirsync:1:0:0", "extended_dn:1:0"];
+                self.dirsync_controls = ["dirsync:1:0:0", "extended_dn:1:0"]
                 self.password_attrs = password_attrs
                 self.decrypt_samba_gpg = decrypt_samba_gpg
                 self.sync_command = sync_command
                 self.password_attrs = password_attrs
                 self.decrypt_samba_gpg = decrypt_samba_gpg
                 self.sync_command = sync_command
index f9313afa1ed78240838abaa733a940b1064f2dda..dccce3d83f2b90ab4bd0242c93ea6ab48de20664 100644 (file)
@@ -2203,7 +2203,7 @@ def provision(logger, session_info, smbconf=None,
     paths = provision_paths_from_lp(lp, names.dnsdomain)
 
     paths.bind_gid = bind_gid
     paths = provision_paths_from_lp(lp, names.dnsdomain)
 
     paths.bind_gid = bind_gid
-    paths.root_uid = root_uid;
+    paths.root_uid = root_uid
     paths.root_gid = root_gid
 
     hostip = determine_host_ip(logger, lp, hostip)
     paths.root_gid = root_gid
 
     hostip = determine_host_ip(logger, lp, hostip)
index ff38e22ce922171ed50f26ab427e3baa732dba86..f948feb60cd82e5712cec25db17357a64c7df522 100644 (file)
@@ -235,7 +235,7 @@ class AgingEnabledTimeProperty(dnsp.DnsProperty):
     def __init__(self, next_cycle_hours=0):
         super(AgingEnabledTimeProperty, self).__init__()
         self.wDataLength = 1
     def __init__(self, next_cycle_hours=0):
         super(AgingEnabledTimeProperty, self).__init__()
         self.wDataLength = 1
-        self.version = 1;
+        self.version = 1
         self.id = dnsp.DSPROPERTY_ZONE_AGING_ENABLED_TIME
         self.data = next_cycle_hours
 
         self.id = dnsp.DSPROPERTY_ZONE_AGING_ENABLED_TIME
         self.data = next_cycle_hours
 
index 2834ab557c0ca74dbdae5dbbbb49ff49da717a1b..20c07e61967cbaeee7af55a91381cd2bb988a82f 100644 (file)
@@ -47,7 +47,7 @@ class PassWordHashGpgmeTests(PassWordHashTests):
         self.add_user()
         if not self.lp.get("password hash gpg key ids"):
             self.skipTest("No password hash gpg key ids, " +
         self.add_user()
         if not self.lp.get("password hash gpg key ids"):
             self.skipTest("No password hash gpg key ids, " +
-                          "Primary:SambaGPG will not be generated");
+                          "Primary:SambaGPG will not be generated")
 
         sc = self.get_supplemental_creds()
 
 
         sc = self.get_supplemental_creds()
 
@@ -85,7 +85,7 @@ class PassWordHashGpgmeTests(PassWordHashTests):
         self.add_user(clear_text=True)
         if not self.lp.get("password hash gpg key ids"):
             self.skipTest("No password hash gpg key ids, " +
         self.add_user(clear_text=True)
         if not self.lp.get("password hash gpg key ids"):
             self.skipTest("No password hash gpg key ids, " +
-                          "Primary:SambaGPG will not be generated");
+                          "Primary:SambaGPG will not be generated")
 
         sc = self.get_supplemental_creds()
 
 
         sc = self.get_supplemental_creds()
 
index e0846d58056f292b5ee52042a827533a304417dd..bcf5d3a0a296678ebf390e9f58b723ef1a603710 100644 (file)
@@ -315,8 +315,8 @@ class PyCredentialsTests(TestCase):
     #
     # Get the authenticator from the machine creds.
     def get_authenticator(self, c):
     #
     # Get the authenticator from the machine creds.
     def get_authenticator(self, c):
-        auth = self.machine_creds.new_client_authenticator();
-        current  = netr_Authenticator()
+        auth = self.machine_creds.new_client_authenticator()
+        current = netr_Authenticator()
         current.cred.data = [ord(x) for x in auth["credential"]]
         current.timestamp = auth["timestamp"]
 
         current.cred.data = [ord(x) for x in auth["credential"]]
         current.timestamp = auth["timestamp"]
 
index 10b6408ca795132a301767c3771b5dc84a8b608e..5223e7cee6027d72866f74f258eed26831ef2d2c 100644 (file)
@@ -86,7 +86,7 @@ class MapBaseTestCase(TestCaseInTempDir):
 
             def __init__(self, basedn, dn, lp):
                 self.db = Ldb(lp=lp, session_info=system_session())
 
             def __init__(self, basedn, dn, lp):
                 self.db = Ldb(lp=lp, session_info=system_session())
-                self.db.set_opaque("skip_allocate_sids", "true");
+                self.db.set_opaque("skip_allocate_sids", "true")
                 self.basedn = basedn
                 self.basedn_casefold = ldb.Dn(self.db, basedn).get_casefold()
                 self.substvars = {"BASEDN": self.basedn}
                 self.basedn = basedn
                 self.basedn_casefold = ldb.Dn(self.db, basedn).get_casefold()
                 self.substvars = {"BASEDN": self.basedn}
@@ -141,14 +141,14 @@ class Samba3SamTestCase(MapBaseTestCase):
     def setUp(self):
         super(Samba3SamTestCase, self).setUp()
         ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
     def setUp(self):
         super(Samba3SamTestCase, self).setUp()
         ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
-        ldb.set_opaque("skip_allocate_sids", "true");
+        ldb.set_opaque("skip_allocate_sids", "true")
         self.samba3.setup_data("samba3.ldif")
         ldif = read_datafile("provision_samba3sam.ldif")
         ldb.add_ldif(self.samba4.subst(ldif))
         self.setup_modules(ldb, self.samba3, self.samba4)
         del ldb
         self.ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
         self.samba3.setup_data("samba3.ldif")
         ldif = read_datafile("provision_samba3sam.ldif")
         ldb.add_ldif(self.samba4.subst(ldif))
         self.setup_modules(ldb, self.samba3, self.samba4)
         del ldb
         self.ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
-        self.ldb.set_opaque("skip_allocate_sids", "true");
+        self.ldb.set_opaque("skip_allocate_sids", "true")
 
     def test_search_non_mapped(self):
         """Looking up by non-mapped attribute"""
 
     def test_search_non_mapped(self):
         """Looking up by non-mapped attribute"""
@@ -310,13 +310,13 @@ class MapTestCase(MapBaseTestCase):
     def setUp(self):
         super(MapTestCase, self).setUp()
         ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
     def setUp(self):
         super(MapTestCase, self).setUp()
         ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
-        ldb.set_opaque("skip_allocate_sids", "true");
+        ldb.set_opaque("skip_allocate_sids", "true")
         ldif = read_datafile("provision_samba3sam.ldif")
         ldb.add_ldif(self.samba4.subst(ldif))
         self.setup_modules(ldb, self.samba3, self.samba4)
         del ldb
         self.ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
         ldif = read_datafile("provision_samba3sam.ldif")
         ldb.add_ldif(self.samba4.subst(ldif))
         self.setup_modules(ldb, self.samba3, self.samba4)
         del ldb
         self.ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
-        self.ldb.set_opaque("skip_allocate_sids", "true");
+        self.ldb.set_opaque("skip_allocate_sids", "true")
 
     def test_map_search(self):
         """Running search tests on mapped data."""
 
     def test_map_search(self):
         """Running search tests on mapped data."""
index 8f6b13193f5aff51c7932db53a84d998c3736123..e0e60e37102737a9e827b7bf1fb6aae10e227dfe 100644 (file)
@@ -61,7 +61,7 @@ class SMBTests(samba.tests.TestCase):
         """
         The smb.unlink API should delete file
         """
         """
         The smb.unlink API should delete file
         """
-        self.conn.savefile(test_file, binary_contents);
+        self.conn.savefile(test_file, binary_contents)
         self.conn.unlink(test_file)
         self.assertFalse(self.conn.chkpath(test_file))
 
         self.conn.unlink(test_file)
         self.assertFalse(self.conn.chkpath(test_file))
 
@@ -94,7 +94,7 @@ class SMBTests(samba.tests.TestCase):
     # with python2 this will save/load str type
     # with python3 this will save/load bytes type
     def test_save_binary_contents(self):
     # with python2 this will save/load str type
     # with python3 this will save/load bytes type
     def test_save_binary_contents(self):
-        self.conn.savefile(test_file, binary_contents);
+        self.conn.savefile(test_file, binary_contents)
 
         contents = self.conn.loadfile(test_file)
         self.assertEquals(contents, binary_contents,
 
         contents = self.conn.loadfile(test_file)
         self.assertEquals(contents, binary_contents,
index 669a6b5e8802341fc731608738862b7550f25e6a..7207835b95c8373cade65e2b200d2cfd5c0aa86d 100644 (file)
@@ -621,13 +621,13 @@ Please fix this account before attempting to upgrade again
             admin_user = username
 
         try:
             admin_user = username
 
         try:
-            group_memberships = s3db.enum_group_memberships(user);
+            group_memberships = s3db.enum_group_memberships(user)
             for group in group_memberships:
                 if str(group) in groupmembers:
                     if user.user_sid not in groupmembers[str(group)]:
                         groupmembers[str(group)].append(user.user_sid)
                 else:
             for group in group_memberships:
                 if str(group) in groupmembers:
                     if user.user_sid not in groupmembers[str(group)]:
                         groupmembers[str(group)].append(user.user_sid)
                 else:
-                    groupmembers[str(group)] = [user.user_sid];
+                    groupmembers[str(group)] = [user.user_sid]
         except passdb.error as e:
             logger.warn("Ignoring group memberships of '%s' %s: %s",
                         username, user.user_sid, e)
         except passdb.error as e:
             logger.warn("Ignoring group memberships of '%s' %s: %s",
                         username, user.user_sid, e)
index c9f18b1cdd10383b78f930c6271d712fb93acd36..2abe6ca421170a40ba92289ddd06bc74f2485056 100644 (file)
@@ -397,7 +397,7 @@ def make_param_table(path_in, path_out):
                         file_out.write("\t\t.flags\t\t= %s,\n" % flags)
                     file_out.write("\t},\n")
 
                         file_out.write("\t\t.flags\t\t= %s,\n" % flags)
                     file_out.write("\t},\n")
 
-        file_out.write("\n\t{NULL,  P_BOOL,  P_NONE,  0,  NULL,  NULL,  0}\n");
+        file_out.write("\n\t{NULL,  P_BOOL,  P_NONE,  0,  NULL,  NULL,  0}\n")
         file_out.write("};\n")
         file_out.write("\n#endif /* %s */\n\n" % header)
     finally:
         file_out.write("};\n")
         file_out.write("\n#endif /* %s */\n\n" % header)
     finally:
index 0f4f3194205420f93a5bd81af302ec4c17227c38..bdb818f83ea8ea8bbccbbd129219cdd22a8bb5b4 100644 (file)
@@ -36,7 +36,7 @@ def CHECK_SAMBA3_CHARSET(conf, crossbuild=False):
 
         if default_dos_charset is False or default_unix_charset is False:
             # we found iconv, but it failed to convert anything (e.g. on AIX)
 
         if default_dos_charset is False or default_unix_charset is False:
             # we found iconv, but it failed to convert anything (e.g. on AIX)
-            conf.undefine('HAVE_NATIVE_ICONV');
+            conf.undefine('HAVE_NATIVE_ICONV')
             default_dos_charset = "ASCII"
             default_unix_charset = "UTF-8"
 
             default_dos_charset = "ASCII"
             default_unix_charset = "UTF-8"
 
index 9197d9aa2662fb4c806b71b37d8a3d4318002dcb..be688475af2904a7326068ec0ef2e3aa1475d068 100755 (executable)
@@ -846,7 +846,7 @@ unicodePwd:: """ + base64.b64encode(invalid_utf16).decode('utf8') + """
                                   msDSUserAccountControlComputed=dsdb.UF_LOCKOUT)
 
         # Now reset the lockout, by removing ACB_AUTOLOCK (which removes the lock, despite being a generated attribute)
                                   msDSUserAccountControlComputed=dsdb.UF_LOCKOUT)
 
         # Now reset the lockout, by removing ACB_AUTOLOCK (which removes the lock, despite being a generated attribute)
-        self._reset_samr(res);
+        self._reset_samr(res)
 
         res = self._check_account(userdn,
                                   badPwdCount=0,
 
         res = self._check_account(userdn,
                                   badPwdCount=0,
index 95288df56d3e249fc4fdd5b18987e16a12ef5bd1..4d4e0c9536f71bd614ace0f4c309e9dd6595cfa2 100755 (executable)
@@ -58,7 +58,7 @@ def _samdb_fetch_schi(samdb):
                               str(res[0]['schemaInfo']))
     else:
         pfm_schi = drsblobs.schemaInfoBlob()
                               str(res[0]['schemaInfo']))
     else:
         pfm_schi = drsblobs.schemaInfoBlob()
-        pfm_schi.marker = 0xFF;
+        pfm_schi.marker = 0xFF
     return pfm_schi
 
 
     return pfm_schi
 
 
index 2a340155c8fdfaf5feb85d277ca339faf6ca391b..0b418663325979b320b7888c61644ed37f347be5 100755 (executable)
@@ -390,7 +390,7 @@ for t in smbtorture4_testsuites("dlz_bind9."):
     # The dlz_bind9 tests needs to look at the DNS database
     plansmbtorture4testsuite(t, "chgdcpass:local", ["ncalrpc:$SERVER", '-U$USERNAME%$PASSWORD'])
 
     # The dlz_bind9 tests needs to look at the DNS database
     plansmbtorture4testsuite(t, "chgdcpass:local", ["ncalrpc:$SERVER", '-U$USERNAME%$PASSWORD'])
 
-planpythontestsuite("nt4_dc", "samba.tests.libsmb_samba_internal", py3_compatible=True);
+planpythontestsuite("nt4_dc", "samba.tests.libsmb_samba_internal", py3_compatible=True)
 
 # Blackbox Tests:
 # tests that interact directly with the command-line tools rather than using
 
 # Blackbox Tests:
 # tests that interact directly with the command-line tools rather than using
index 9a64d465de8400d76827ac84a46345437b49e102..d65d173013a9a331a7deafd4c43b77e9762c4df2 100644 (file)
@@ -172,7 +172,7 @@ class DrsMoveObjectTestCase(drs_base.DrsBaseTestCase):
         for o in drs_ctr.first_object.meta_data_ctr.meta_data:
             i = 0
             drs_attid = drs_ctr.first_object.object.attribute_ctr.attributes[att_idx]
         for o in drs_ctr.first_object.meta_data_ctr.meta_data:
             i = 0
             drs_attid = drs_ctr.first_object.object.attribute_ctr.attributes[att_idx]
-            e = expected[i];
+            e = expected[i]
             (attid, orig_dsa, version) = e
 
             # Skip the RDN from the expected set, it is not sent over DRS
             (attid, orig_dsa, version) = e
 
             # Skip the RDN from the expected set, it is not sent over DRS
@@ -181,7 +181,7 @@ class DrsMoveObjectTestCase(drs_base.DrsBaseTestCase):
                 or (user_dn.get_rdn_name().upper() == "OU"
                     and attid == DRSUAPI_ATTID_ou):
                 i = i + 1
                 or (user_dn.get_rdn_name().upper() == "OU"
                     and attid == DRSUAPI_ATTID_ou):
                 i = i + 1
-                e = expected[i];
+                e = expected[i]
                 (attid, orig_dsa, version) = e
 
             self.assertEquals(attid, drs_attid.attid,
                 (attid, orig_dsa, version) = e
 
             self.assertEquals(attid, drs_attid.attid,
index 1c013e908a7bd54a49fedc926423a747c26318ba..71f5f775674a8f54d3f78814fb9a612d0c05969f 100755 (executable)
@@ -176,7 +176,7 @@ def create_root_account(t, vm):
     child = t.pexpect_spawn('bin/net ads password root -Uadministrator%${WIN_PASS}')
     child.expect("Enter new password for root")
     child.sendline("${PASSWORD2}")
     child = t.pexpect_spawn('bin/net ads password root -Uadministrator%${WIN_PASS}')
     child.expect("Enter new password for root")
     child.sendline("${PASSWORD2}")
-    child.expect("Password change for ");
+    child.expect("Password change for ")
     child.expect(" completed")
     child = t.pexpect_spawn('bin/net rpc shell -S ${WIN_HOSTNAME}.${WIN_REALM} -Uadministrator%${WIN_PASS}')
     child.expect("net rpc>")
     child.expect(" completed")
     child = t.pexpect_spawn('bin/net rpc shell -S ${WIN_HOSTNAME}.${WIN_REALM} -Uadministrator%${WIN_PASS}')
     child.expect("net rpc>")
index bf1b04d87740b48557ef0f73e2ec785fd82691fb..4af7eb77b1dfc0afea8004e93a355ac58051f295 100644 (file)
@@ -329,7 +329,7 @@ nameserver %s
         self.write_file('/etc/resolv.conf.wintest', contents, mode='a')
         self.write_file('/etc/resolv.conf.wintest-bak', contents)
         self.run_cmd("mv -f /etc/resolv.conf.wintest /etc/resolv.conf")
         self.write_file('/etc/resolv.conf.wintest', contents, mode='a')
         self.write_file('/etc/resolv.conf.wintest-bak', contents)
         self.run_cmd("mv -f /etc/resolv.conf.wintest /etc/resolv.conf")
-        self.resolv_conf_backup = '/etc/resolv.conf.wintest-bak';
+        self.resolv_conf_backup = '/etc/resolv.conf.wintest-bak'
 
     def configure_bind(self, kerberos_support=False, include=None):
         self.chdir('${PREFIX}')
 
     def configure_bind(self, kerberos_support=False, include=None):
         self.chdir('${PREFIX}')
@@ -737,7 +737,7 @@ options {
             if set_dns:
                 set_dns = False
                 if self.set_dns(child):
             if set_dns:
                 set_dns = False
                 if self.set_dns(child):
-                    continue;
+                    continue
             if set_route:
                 child.sendline('route add 0.0.0.0 mask 0.0.0.0 ${WIN_DEFAULT_GATEWAY}')
                 child.expect("C:")
             if set_route:
                 child.sendline('route add 0.0.0.0 mask 0.0.0.0 ${WIN_DEFAULT_GATEWAY}')
                 child.expect("C:")