VirtualBox

Changeset 70566 in vbox


Ignore:
Timestamp:
Jan 12, 2018 6:25:48 PM (7 years ago)
Author:
vboxsync
Message:

testboxdriver,testboxscript: Python3 updates.

Location:
trunk/src/VBox/ValidationKit
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/common/utils.py

    r70518 r70566  
    104104            else:
    105105                try:
    106                     sArch = processOutputChecked(['/usr/bin/isainfo', '-n',]);
     106                    sArch = str(processOutputChecked(['/usr/bin/isainfo', '-n',]));
    107107                except:
    108108                    pass;
     
    586586    Wrapper around subprocess.check_output to deal with its absense in older
    587587    python versions.
    588     """
     588    Extra keyword: sEncoding='utf-8; for specifying now output is to be decoded.
     589    """
     590    sEncoding = dKeywordArgs.get('sEncoding');
     591    if sEncoding is not None:   del dKeywordArgs['sEncoding'];
     592    else:                       sEncoding = 'utf-8';
     593
    589594    _processFixPythonInterpreter(aPositionalArgs, dKeywordArgs);
    590595    oProcess = processPopenSafe(stdout=subprocess.PIPE, *aPositionalArgs, **dKeywordArgs);
     
    600605        raise subprocess.CalledProcessError(iExitCode, asArgs);
    601606
    602     return str(sOutput); # str() make pylint happy.
     607    return sOutput.decode(sEncoding);
    603608
    604609g_fOldSudo = None;
     
    625630        if g_fOldSudo is None:
    626631            try:
    627                 sVersion = processOutputChecked(['sudo', '-V']);
     632                sVersion = str(processOutputChecked(['sudo', '-V']));
    628633            except:
    629634                sVersion = '1.7.0';
  • trunk/src/VBox/ValidationKit/testboxscript/testboxconnection.py

    r70560 r70566  
    3232# Standard python imports.
    3333import sys;
    34 import urllib
    3534if sys.version_info[0] >= 3:
    36     import http.client as httplib;      # pylint: disable=import-error,no-name-in-module
    37     import urllib.parse as urlparse;    # pylint: disable=import-error,no-name-in-module
     35    import http.client as httplib;                          # pylint: disable=import-error,no-name-in-module
     36    import urllib.parse as urlparse;                        # pylint: disable=import-error,no-name-in-module
     37    from urllib.parse import urlencode as urllib_urlencode; # pylint: disable=import-error,no-name-in-module
    3838else:
    39     import httplib;                     # pylint: disable=import-error
    40     import urlparse;                    # pylint: disable=import-error
     39    import httplib;                                         # pylint: disable=import-error
     40    import urlparse;                                        # pylint: disable=import-error
     41    from urllib import urlencode as urllib_urlencode;       # pylint: disable=import-error
    4142
    4243# Validation Kit imports.
     
    5960            # Read the whole response (so we can log it).
    6061            sBody = oResponse.read();
     62            sBody = sBody.decode('utf-8');
    6163
    6264            # Check the content type.
     
    199201        sServerPath = '/%s/testboxdisp.py' % (self._oParsedUrl.path.strip('/'),); # pylint: disable=E1101
    200202        dParams[constants.tbreq.ALL_PARAM_ACTION] = sAction;
    201         sBody = urllib.urlencode(dParams);
     203        sBody = urllib_urlencode(dParams);
    202204        ##testboxcommons.log2('sServerPath=%s' % (sServerPath,));
    203205        try:
  • trunk/src/VBox/ValidationKit/testboxscript/testboxtasks.py

    r70548 r70566  
    642642            oFile = open(sPath, "rb");
    643643            sStr = oFile.read();
     644            sStr = sStr.decode('utf-8');
    644645            oFile.close();
    645646            return sStr.strip();
     
    779780        try:
    780781            oFile = open(sPath, "wb");
    781             oFile.write(sContent);
     782            oFile.write(sContent.encode('utf-8'));
    782783            oFile.flush();
    783784            try:     os.fsync(oFile.fileno());
  • trunk/src/VBox/ValidationKit/testdriver/reporter.py

    r70521 r70566  
    658658
    659659        # Prepare the TM connecting.
    660         import urlparse;
    661         import httplib;
    662         import urllib;
    663660        from common import constants;
    664 
    665         self._fnUrlEncode       = urllib.urlencode;
    666         self._fnUrlParseQs      = urlparse.parse_qs;
    667         self._oParsedTmUrl      = urlparse.urlparse(self.sTestManagerUrl);
     661        if sys.version_info[0] >= 3:
     662            import urllib;
     663            self._fnUrlEncode       = urllib.parse.urlencode;                       # pylint: disable=no-member
     664            self._fnUrlParseQs      = urllib.parse.parse_qs;                        # pylint: disable=no-member
     665            self._oParsedTmUrl      = urllib.parse.urlparse(self.sTestManagerUrl);  # pylint: disable=no-member
     666            import http.client as httplib;                                      # pylint: disable=no-name-in-module,import-error
     667        else:
     668            import urllib;
     669            self._fnUrlEncode       = urllib.urlencode;                             # pylint: disable=no-member
     670            import urlparse;                                                        # pylint: disable=import-error
     671            self._fnUrlParseQs      = urlparse.parse_qs;                            # pylint: disable=no-member
     672            self._oParsedTmUrl      = urlparse.urlparse(self.sTestManagerUrl);      # pylint: disable=no-member
     673            import httplib;                                                     # pylint: disable=no-name-in-module,import-error
    668674
    669675        if     sys.version_info[0] >= 3 \
     
    697703        self._sTmServerPath = '/%s/testboxdisp.py?%s' \
    698704                            % ( self._oParsedTmUrl.path.strip('/'), # pylint: disable=E1101
    699                                 urllib.urlencode(dParams), );
     705                                self._fnUrlEncode(dParams), );
    700706
    701707    def __del__(self):
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette