1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #! /usr/bin/env python
- # encoding: utf-8
- # Federico Pellegrin, 2017 (fedepell)
- #
- # Simple script to demonstrate integration of Java Unit testing inside
- # standard waf_unit_test using either TestNG or JUnit
- #
- def test_results(bld):
- """
- Custom post- function that prints out test results.
- """
- lst = getattr(bld, 'utest_results', [])
- if not lst:
- return
- for (f, code, out, err) in lst:
- print(out.decode('utf-8'))
- print(err.decode('utf-8'))
- def options(opt):
- opt.load('java waf_unit_test javatest')
- def configure(conf):
- conf.load('java javatest')
- def build(bld):
- bld(features = 'javac',
- name = 'mainprog',
- srcdir = 'src/', # folder containing the sources to compile
- outdir = 'src', # folder where to output the classes (in the build directory)
- sourcepath = ['src'],
- basedir = 'src', # folder containing the classes and other files to package (must match outdir)
- )
- bld(features = 'javac javatest',
- srcdir = 'test/', # folder containing the sources to compile
- outdir = 'test', # folder where to output the classes (in the build directory)
- sourcepath = ['test'],
- classpath = [ 'src' ],
- basedir = 'test', # folder containing the classes and other files to package (must match outdir)
- use = ['JAVATEST', 'mainprog'],
- ut_str = 'java -cp ${CLASSPATH} ${JTRUNNER} ${SRC}',
- jtest_source = bld.path.ant_glob('test/*.xml'),
- # For JUnit do first JUnit configuration and no need to use jtest_source:
- # ut_str = 'java -cp ${CLASSPATH} ${JTRUNNER} [TestClass]',
- )
- bld.add_post_fun(test_results)
|