Ticket #4086: twisted4086.5.patch

File twisted4086.5.patch, 4.8 KB (added by necaris, 2 years ago)

Patch to deprecate "unsigned" flag, now with better docstring

  • twisted/scripts/test/test_tap2rpm.py

     
    55Tests for L{twisted.scripts.tap2rpm}. 
    66""" 
    77import os 
     8 
    89from twisted.trial.unittest import TestCase, SkipTest 
    910from twisted.python import procutils 
     11from twisted.python import versions 
     12from twisted.python import deprecate 
    1013from twisted.python.failure import Failure 
    1114from twisted.internet import utils 
    1215from twisted.scripts import tap2rpm 
     
    378381 
    379382        # Try and make an RPM from that tapfile. 
    380383        _makeRPMs(tapfile=tapfile) 
     384 
     385 
     386    def test_unsignedFlagDeprecationWarning(self): 
     387        """ 
     388        The 'unsigned' flag in tap2rpm should be deprecated, and its use 
     389        should raise a warning as such. 
     390        """ 
     391        config = tap2rpm.MyOptions() 
     392        config.parseOptions(['--unsigned']) 
     393        warnings = self.flushWarnings() 
     394        self.assertEqual(DeprecationWarning, warnings[0]['category']) 
     395        self.assertEqual( 
     396            deprecate.getDeprecationWarningString( 
     397                config.opt_unsigned, versions.Version("Twisted", 12, 1, 0)), 
     398            warnings[0]['message']) 
     399        self.assertEqual(1, len(warnings)) 
  • twisted/scripts/tap2rpm.py

     
    77import tempfile 
    88import tarfile 
    99from StringIO import StringIO 
     10import warnings 
    1011 
    11 from twisted.python import usage, log 
     12from twisted.python import usage, log, versions, deprecate 
    1213 
    1314 
    1415################################# 
     
    3637#  check for required files 
    3738if [ ! -x /usr/bin/twistd ] 
    3839then 
    39         echo "$0: Aborting, no /usr/bin/twistd found" 
    40         exit 0 
     40        echo "$0: Aborting, no /usr/bin/twistd found" 
     41        exit 0 
    4142fi 
    4243if [ ! -r "$file" ] 
    4344then 
    44         echo "$0: Aborting, no file $file found." 
    45         exit 0 
     45        echo "$0: Aborting, no file $file found." 
     46        exit 0 
    4647fi 
    4748 
    4849#  set up run directory if necessary 
    4950if [ ! -d "${rundir}" ] 
    5051then 
    51         mkdir -p "${rundir}" 
     52        mkdir -p "${rundir}" 
    5253fi 
    5354 
    5455 
    5556case "$1" in 
    56         start) 
    57                 echo -n "Starting %(rpm_file)s: twistd" 
    58                 daemon twistd  \\ 
    59                                 --pidfile=$pidfile \\ 
    60                                 --rundir=$rundir \\ 
    61                                 --%(twistd_option)s=$file \\ 
    62                                 --logfile=$logfile 
    63                 status %(rpm_file)s 
    64                 ;; 
     57        start) 
     58                echo -n "Starting %(rpm_file)s: twistd" 
     59                daemon twistd  \\ 
     60                                --pidfile=$pidfile \\ 
     61                                --rundir=$rundir \\ 
     62                                --%(twistd_option)s=$file \\ 
     63                                --logfile=$logfile 
     64                status %(rpm_file)s 
     65                ;; 
    6566 
    66         stop) 
    67                 echo -n "Stopping %(rpm_file)s: twistd" 
    68                 kill `cat "${pidfile}"` 
    69                 status %(rpm_file)s 
    70                 ;; 
     67        stop) 
     68                echo -n "Stopping %(rpm_file)s: twistd" 
     69                kill `cat "${pidfile}"` 
     70                status %(rpm_file)s 
     71                ;; 
    7172 
    72         restart) 
    73                 "${0}" stop 
    74                 "${0}" start 
    75                 ;; 
     73        restart) 
     74                "${0}" stop 
     75                "${0}" start 
     76                ;; 
    7677 
    7778    *) 
    78                 echo "Usage: ${0} {start|stop|restart|}" >&2 
    79                 exit 1 
    80                 ;; 
     79                echo "Usage: ${0} {start|stop|restart|}" >&2 
     80                exit 1 
     81                ;; 
    8182esac 
    8283 
    8384exit 0 
     
    106107 
    107108%%install 
    108109[ ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != '/' ] \ 
    109                 && rm -rf "$RPM_BUILD_ROOT" 
     110                && rm -rf "$RPM_BUILD_ROOT" 
    110111mkdir -p "$RPM_BUILD_ROOT"/etc/twisted-taps 
    111112mkdir -p "$RPM_BUILD_ROOT"/etc/init.d 
    112113mkdir -p "$RPM_BUILD_ROOT"/var/lib/twisted-taps 
     
    115116 
    116117%%clean 
    117118[ ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != '/' ] \ 
    118                 && rm -rf "$RPM_BUILD_ROOT" 
     119                && rm -rf "$RPM_BUILD_ROOT" 
    119120 
    120121%%post 
    121122/sbin/chkconfig --add %(rpm_file)s 
     
    138139 
    139140############################### 
    140141class MyOptions(usage.Options): 
    141     optFlags = [["unsigned", "u"], ['quiet', 'q']] 
     142    optFlags = [['quiet', 'q']] 
    142143    optParameters = [ 
    143144                     ["tapfile", "t", "twistd.tap"], 
    144145                     ["maintainer", "m", "tap2rpm"], 
     
    177178        self['release-name'] = '%s-%s' % (self['rpmfile'], self['set-version']) 
    178179 
    179180 
     181    def opt_unsigned(self): 
     182        """ 
     183        Generate an unsigned rather than a signed RPM. (DEPRECATED; unsigned 
     184        is the default) 
     185        """ 
     186        msg = deprecate.getDeprecationWarningString( 
     187            self.opt_unsigned, versions.Version("Twisted", 12, 1, 0)) 
     188        warnings.warn(msg, category=DeprecationWarning, stacklevel=2) 
    180189 
     190    # Maintain the -u short flag 
     191    opt_u = opt_unsigned 
     192 
     193 
    181194type_dict = { 
    182195    'tap': 'file', 
    183196    'python': 'python',