diff options
Diffstat (limited to 'tools/dev/gen-py-errors.py')
-rwxr-xr-x | tools/dev/gen-py-errors.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tools/dev/gen-py-errors.py b/tools/dev/gen-py-errors.py new file mode 100755 index 0000000..6204589 --- /dev/null +++ b/tools/dev/gen-py-errors.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python +# +# gen-py-errors.py: Generate a python module which maps error names to numbers. +# (The purpose being easier writing of the python tests.) +# +# ==================================================================== +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ==================================================================== +# +# +# Meant to be run from the root of a Subversion working copy. If anybody +# wants to do some path magic to improve that use, feel free. + +import sys, os +sys.path.append(os.path.join('subversion', 'bindings', 'swig', + 'python', 'tests')) + + +import setup_path + +header = '''#!/usr/bin/env python +### This file automatically generated by tools/dev/gen-py-error.py, +### which see for more information +### +### It is versioned for convenience. + +''' + + +def write_output(errs, filename): + out = open(filename, 'w') + out.write(header) + + for name, val in errs: + out.write('%s = %d\n' % (name, val)) + + out.close() + + +def main(output_filename): + import core + + errs = [e for e in dir(core.svn.core) if e.startswith('SVN_ERR_')] + codes = [] + for e in errs: + codes.append((e[8:], getattr(core.svn.core, e))) + write_output(codes, output_filename) + + +if __name__ == '__main__': + main(os.path.join('subversion', 'tests', 'cmdline', 'svntest', 'err.py')) |