#!/usr/bin/env python """Compatibility tests between last released and the current version. Usage: ./update_compatibility_version.py .. [] Example: ./update_compatibility_version.py 3.7.1 """ from __future__ import print_function import re import sys if len(sys.argv) < 2 or len(sys.argv) > 3: print(""" [ERROR] Please specify a version. ./update_compatibility_version.py.py .. [] Example: ./update_compatibility_version.py.py 3.7.1 2 """) exit(1) NEW_VERSION = sys.argv[1] NEW_VERSION_INFO = NEW_VERSION.split('.') if len(NEW_VERSION_INFO) != 3: print(""" [ERROR] Version must be in the format .. Example: ./update_compatibility_version.py.py 3.7.3 """) exit(1) if len(sys.argv) > 2: RC_VERSION = int(sys.argv[2]) # Do not update compatibility versions for rc release if RC_VERSION != 0: exit(0) def RewriteTextFile(filename, line_rewriter): lines = open(filename, 'r').readlines() updated_lines = [] for line in lines: updated_lines.append(line_rewriter(line)) if lines == updated_lines: print('%s was not updated. Please double check.' % filename) f = open(filename, 'w') f.write(''.join(updated_lines)) f.close() def ReplaceVersion(line): return re.sub(r'LAST_RELEASED=.*$', 'LAST_RELEASED=%s' % NEW_VERSION, line) RewriteTextFile('tests.sh', ReplaceVersion)