Ticket #4086: twisted4086.4.patch

File twisted4086.4.patch, 5.1 KB (added by necaris, 5 years ago)

Patch to deprecate "unsigned" flag, with test and news file, corrected deprecating version

  • twisted/topfiles/4086.removal

     
     1The 'unsigned' flag to twisted.scripts.tap2rpm.MyOptions is now deprecated.
  • 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"],
     
    176177        self['twistd_option'] = type_dict[self['type']]
    177178        self['release-name'] = '%s-%s' % (self['rpmfile'], self['set-version'])
    178179
     180    def opt_unsigned(self):
     181        """
     182        Handle the 'unsigned' command-line flag, which is now deprecated in
     183        any case.
     184        """
     185        msg = deprecate.getDeprecationWarningString(
     186            self.opt_unsigned, versions.Version("Twisted", 12, 1, 0))
     187        warnings.warn(msg, category=DeprecationWarning, stacklevel=2)
    179188
     189    # Maintain the -u short flag
     190    opt_u = opt_unsigned
    180191
     192
    181193type_dict = {
    182194    'tap': 'file',
    183195    'python': 'python',