oneshot_warning.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/env python3
  2. from mmgen.common import *
  3. cmd_args = opts.init()
  4. class foo(oneshot_warning):
  5. color = 'purple'
  6. message = 'foo variant {} selected'
  7. class bar(oneshot_warning):
  8. color = 'yellow'
  9. message = 'bar is experimental software'
  10. class wg(oneshot_warning_group):
  11. class foo:
  12. color = 'yellow'
  13. message = 'foo is experimental software. Proceed at your own risk'
  14. class bar:
  15. color = 'red'
  16. message = 'The bar command is {} and can break your {}!!!'
  17. class baz:
  18. color = 'orange'
  19. message = 'baz variant {} selected'
  20. for i in (1,2,3):
  21. from mmgen.crypto import pwfile_reuse_warning
  22. msg('\npw')
  23. for k in ('A','B'):
  24. ret = pwfile_reuse_warning(k).warning_shown
  25. assert ret == (i != 1), 'warning_shown incorrect'
  26. msg('wg1')
  27. wg('foo')
  28. msg('wg2')
  29. wg('bar',fmt_args=['dangerous','computer'])
  30. msg('wg3')
  31. wg('baz',div='alpha',fmt_args=['alpha'])
  32. msg('wg4')
  33. wg('baz',div='beta',fmt_args=['beta'])
  34. msg('w1')
  35. foo(div='alpha',fmt_args=['alpha'])
  36. msg('w2')
  37. foo(div='beta',fmt_args=['beta'])
  38. msg('w3')
  39. bar()
  40. msg('bottom')