# -*- coding: utf-8 -*-
'''
This runner is used only for test purposes and servers no production purpose
'''
from __future__ import absolute_import
from __future__ import print_function
# Import python libs
import time
import salt.ext.six as six
from salt.ext.six.moves import range


def arg(*args, **kwargs):
    '''
    Output the given args and kwargs

    Kwargs will be filtered for 'private' keynames.
    '''
    kwargs = dict((k, v) for k, v in six.iteritems(kwargs)
            if not k.startswith('__'))

    ret = {
        'args': args,
        'kwargs': kwargs,
    }
    return ret


def raw_arg(*args, **kwargs):
    '''
    Output the given args and kwargs
    '''
    ret = {
        'args': args,
        'kwargs': kwargs,
    }
    return ret


def stdout_print():
    '''
    Print 'foo' and return 'bar'
    '''
    print ('foo')
    return 'bar'

def stream():
    '''
    Return True
    '''
    ret = True
    for i in range(1, 100):
        # __progress__('Runner is {0}% done'.format(i), outputter='pprint')
        __jid_event__.fire_event({'data': 'Runner is {0}% done'.format(i), 'outputter': 'pprint'}, 'progress')
        time.sleep(0.1)
    return ret

@@ -863,16 +863,152 @@
  'bar'%0A%0A
+%0Adef sleep(s_time=10):%0A    '''%0A    Sleep t seconds, then return True%0A    '''%0A    print (s_time)%0A    time.sleep(s_time)%0A    return True%0A%0A
 def stre

Add sleep to test runner