source: tests/Python/AllActions/moltest_check.py@ d083cc

Candidate_v1.7.0 stable
Last change on this file since d083cc was d083cc, checked in by Frederik Heber <frederik.heber@…>, 21 months ago

Python3: Test/Python changed.

  • print -> print()
  • Property mode set to 100644
File size: 1.1 KB
RevLine 
[5ab796]1import pyMoleCuilder as mol
2import re, os, sys
3
4cmds = filter(lambda s: (s[0] != '_') and (s[0:11] != "PythonType_"), dir(mol))
5
6# read options.dat
7
8Defaults = {}
9
10with open('options.dat') as f:
11 for line in f:
12 if len(line) > 0 and line[0] != '#':
[61c364]13 try:
14 key, value = line.split('\t', 1)
15 except ValueError:
[d083cc]16 print("line needs two values, tab-separated: "+line)
[61c364]17 sys.exit(1)
[5ab796]18 value = value[1:-2] # remove quotes
19
20 Defaults[key] = value
21
22Allparams = []
23
24def CheckParameters(docstring):
25 result = 0
[f5ea10]26 params = re.findall(r'\(str\)([-_a-zA-Z0-9]*)', docstring)
[5ab796]27
28 for param in params:
29 if not param in Allparams:
30 Allparams.append(param)
31
32 if not param in Defaults:
[d083cc]33 print(param, file=sys.stderr) # write missing default value to stderr
[5ab796]34 result = 1
35
36 return result
37
38result = 0
39
40for cmd in cmds:
[d083cc]41 print("Checking on %s" % cmd)
[5ab796]42 doc = eval('mol.%s.__doc__' % cmd)
43 if CheckParameters(doc) == 1:
44 result = 1
45
46sys.exit(result)
Note: See TracBrowser for help on using the repository browser.