defl/tests.old/test_runcom.py

72 lines
1.8 KiB
Python
Raw Permalink Normal View History

2024-09-11 11:14:03 -04:00
#!/usr/bin/env python
import io
import defl
from defl import Assert, LogProfile, cl, log
from defl.testing_ import Test, Tester, TestState
tester = Tester(name=__file__)
@tester.add()
def test():
out = ['test 1', 'test 1', 'test 1']
outStr = '\n'.join(out)
run = defl.RunCom(['echo', '-e', outStr])
Assert(run.out).eq(out)
Assert(run.outStr).eq(outStr)
@tester.add()
def test():
lg = defl.Logger(defaultAnsiiEnabled=False, defaultLineInfoEnabled=False)
io1 = io.StringIO()
lg.setLevel('debug', io1)
run = defl.RunCom(['echo', '-e', 'test2'], logOnRun=lg.debug, raiseOnFail=True)
Assert(io1.getvalue()).eq('echo -e test2\n')
@tester.add()
def test():
run = defl.RunCom(['env'], pipe=(True, False))
var = [x.split('=')[0] for x in run.out]
Assert(var).eq(defl.RunCom.DEFAULT_ENV_VARS)
@tester.add()
def test():
run = defl.RunCom('echo $a $SHELL', pipe=(True, False), env={'a': 'b', 'SHELL': 'TEST'})
Assert(run.out).eq(['b TEST'])
log.info(tester.run())
tester.exitWithStatus()
# parser = argparse.ArgumentParser(description='')
# parser.add_argument('-z', '--log', default='debug')
# ag = parser.parse_args() # ag, extraArgs = parser.parse_known_args()
# log = defl.log.setLevel(ag.log) # Import in sub module : "log = defl.log"
# log.debug('ARGV', defl.shlexQuoteList(sys.argv))
# @atexit.register
# def on_exit():
# open('/tmp/.clip.txt', 'w').close()
# def signal_handler(sig, frame):
# global comRunning
# log.debug('Cought signal')
# log.debug('comRunning', varI=True)
# if comRunning:
# log.debug('killing com')
# comRunning.kill(force=False)
# log.debug('Com exit with', comRunning.status)
# sys.exit()
# signal.signal(signal.SIGINT, signal_handler)
# comRunning = defl.RunCom(['sleep', 60], runNow=False)
# comRunning.run(pipe=False)