bitbake-selftest 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/env python3
  2. #
  3. # Copyright (C) 2012 Richard Purdie
  4. #
  5. # This program is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License version 2 as
  7. # published by the Free Software Foundation.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License along
  15. # with this program; if not, write to the Free Software Foundation, Inc.,
  16. # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  17. import os
  18. import sys, logging
  19. sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
  20. import unittest
  21. try:
  22. import bb
  23. except RuntimeError as exc:
  24. sys.exit(str(exc))
  25. def usage():
  26. print('usage: [BB_SKIP_NETTESTS=yes] %s [-v] [testname1 [testname2]...]' % os.path.basename(sys.argv[0]))
  27. verbosity = 1
  28. tests = sys.argv[1:]
  29. if '-v' in sys.argv:
  30. tests.remove('-v')
  31. verbosity = 2
  32. if tests:
  33. if '--help' in sys.argv[1:]:
  34. usage()
  35. sys.exit(0)
  36. else:
  37. tests = ["bb.tests.codeparser",
  38. "bb.tests.cow",
  39. "bb.tests.data",
  40. "bb.tests.fetch",
  41. "bb.tests.parse",
  42. "bb.tests.utils"]
  43. for t in tests:
  44. t = '.'.join(t.split('.')[:3])
  45. __import__(t)
  46. unittest.main(argv=["bitbake-selftest"] + tests, verbosity=verbosity)