upm/tests/check_clean.py
Noel Eck 2f78d9f62b python_examples: Reformatted, self-checking, executable
* Moved body of each python example to main.  This allows for basic
      load module testing for CI
    * General cleanup of python modules (crlf/tabs/prints/etc)
    * Chmod'ed to 755 to allow running examples without specifying the
      python interpreter
    * Added ctest for loading python2/3 modules
    * Added jniclasscode pragma for java swig interface files.
    * Updated check_examplenames.py module to check all languages vs. a
      cxx example name
    * Added tests for checking python module and test loading
    * Added 'make test' to travis-ci run (run ctests)
    * Print a more meaningful message when not building cxx docs into
      python modules
    * Updated check_clean.py to only check java wrapper files
    * ENABLED ctests for UPM
    * Deleted using_carrays.py python example - this is covered by other
      examples

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-10-04 16:10:17 -07:00

38 lines
1.1 KiB
Python
Executable File

#!/usr/bin/python
import unittest as u
import re, fnmatch, os
rootDir = '../build/src/'
swigtypeStr = 'SWIGTYPE'
class Clean(u.TestCase):
def test_existing_swigtype(self):
unclean = []
for dirName in os.listdir(rootDir):
dirPath = os.path.join(rootDir, dirName)
if not os.path.isdir(dirPath):
continue
ok = True
for subdir, dirs, files in os.walk(dirPath):
if not ok:
break
for fileName in files:
# Only look at JAVA wrappers
if not fileName.endswith('JAVA_wrap.cxx'): continue
if swigtypeStr in fileName:
unclean.append(dirName)
ok = False
break
self.assertEqual( len(unclean), 0,
"\nThe following modules have unclean Java bindings:\n" + \
"\n".join(unclean) + "\n\n" + \
"Consider adding them to the SWIGJAVA blacklist")
if __name__ == '__main__':
u.main()