various daca@home client cleanups (#3161)
This commit is contained in:
parent
9c269e3d04
commit
f8edb7b6e6
|
@ -203,6 +203,7 @@ while True:
|
||||||
output += 'platform: ' + platform.platform() + '\n'
|
output += 'platform: ' + platform.platform() + '\n'
|
||||||
output += 'python: ' + platform.python_version() + '\n'
|
output += 'python: ' + platform.python_version() + '\n'
|
||||||
output += 'client-version: ' + CLIENT_VERSION + '\n'
|
output += 'client-version: ' + CLIENT_VERSION + '\n'
|
||||||
|
output += 'compiler: ' + get_compiler_version() + '\n'
|
||||||
output += 'cppcheck: ' + ' '.join(cppcheck_versions) + '\n'
|
output += 'cppcheck: ' + ' '.join(cppcheck_versions) + '\n'
|
||||||
output += 'head-info: ' + cppcheck_head_info + '\n'
|
output += 'head-info: ' + cppcheck_head_info + '\n'
|
||||||
output += 'count:' + count + '\n'
|
output += 'count:' + count + '\n'
|
||||||
|
@ -214,7 +215,7 @@ while True:
|
||||||
if 'head' in cppcheck_versions:
|
if 'head' in cppcheck_versions:
|
||||||
output += 'head results:\n' + results_to_diff[cppcheck_versions.index('head')]
|
output += 'head results:\n' + results_to_diff[cppcheck_versions.index('head')]
|
||||||
if not crash and not timeout:
|
if not crash and not timeout:
|
||||||
output += 'diff:\n' + diff_results(work_path, cppcheck_versions[0], results_to_diff[0], cppcheck_versions[1], results_to_diff[1]) + '\n'
|
output += 'diff:\n' + diff_results(cppcheck_versions[0], results_to_diff[0], cppcheck_versions[1], results_to_diff[1]) + '\n'
|
||||||
if package_url:
|
if package_url:
|
||||||
print('=========================================================')
|
print('=========================================================')
|
||||||
print(output)
|
print(output)
|
||||||
|
|
|
@ -16,7 +16,7 @@ import psutil
|
||||||
# Version scheme (MAJOR.MINOR.PATCH) should orientate on "Semantic Versioning" https://semver.org/
|
# Version scheme (MAJOR.MINOR.PATCH) should orientate on "Semantic Versioning" https://semver.org/
|
||||||
# Every change in this script should result in increasing the version number accordingly (exceptions may be cosmetic
|
# Every change in this script should result in increasing the version number accordingly (exceptions may be cosmetic
|
||||||
# changes)
|
# changes)
|
||||||
CLIENT_VERSION = "1.3.11"
|
CLIENT_VERSION = "1.3.12"
|
||||||
|
|
||||||
# Timeout for analysis with Cppcheck in seconds
|
# Timeout for analysis with Cppcheck in seconds
|
||||||
CPPCHECK_TIMEOUT = 30 * 60
|
CPPCHECK_TIMEOUT = 30 * 60
|
||||||
|
@ -31,7 +31,7 @@ def check_requirements():
|
||||||
try:
|
try:
|
||||||
subprocess.call([app, '--version'])
|
subprocess.call([app, '--version'])
|
||||||
except OSError:
|
except OSError:
|
||||||
print(app + ' is required')
|
print("Error: '{}' is required".format(app))
|
||||||
result = False
|
result = False
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
@ -224,8 +224,7 @@ def unpack_package(work_path, tgz):
|
||||||
# Skip dangerous file names
|
# Skip dangerous file names
|
||||||
continue
|
continue
|
||||||
elif member.name.lower().endswith(('.c', '.cpp', '.cxx', '.cc', '.c++', '.h', '.hpp',
|
elif member.name.lower().endswith(('.c', '.cpp', '.cxx', '.cc', '.c++', '.h', '.hpp',
|
||||||
'.h++', '.hxx', '.hh', '.tpp', '.txx', '.qml',
|
'.h++', '.hxx', '.hh', '.tpp', '.txx', '.qml')):
|
||||||
'.sln', '.vcproj', '.vcxproj')):
|
|
||||||
try:
|
try:
|
||||||
tf.extract(member.name)
|
tf.extract(member.name)
|
||||||
found = True
|
found = True
|
||||||
|
@ -296,13 +295,7 @@ def scan_package(work_path, cppcheck_path, jobs, libraries):
|
||||||
|
|
||||||
# Reference for GNU C: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
|
# Reference for GNU C: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
|
||||||
options = libs + jobs + ' --showtime=top5 --check-library --inconclusive --enable=style,information --template=daca2 -rp=temp'
|
options = libs + jobs + ' --showtime=top5 --check-library --inconclusive --enable=style,information --template=daca2 -rp=temp'
|
||||||
if os.path.isfile('temp/tortoisesvn/TortoiseSVN.sln'):
|
options += ' -D__GNUC__ --platform=unix64 temp'
|
||||||
options = options.replace('--library=posix ', '')
|
|
||||||
options = options.replace('--library=gnu ', '')
|
|
||||||
options = '--library=windows ' + options
|
|
||||||
options += ' --platform=win64 --project=temp/tortoisesvn/TortoiseSVN.sln'
|
|
||||||
else:
|
|
||||||
options += ' -D__GNUC__ --platform=unix64 temp'
|
|
||||||
cppcheck_cmd = cppcheck_path + '/cppcheck' + ' ' + options
|
cppcheck_cmd = cppcheck_path + '/cppcheck' + ' ' + options
|
||||||
cmd = 'nice ' + cppcheck_cmd
|
cmd = 'nice ' + cppcheck_cmd
|
||||||
returncode, stdout, stderr, elapsed_time = run_command(cmd)
|
returncode, stdout, stderr, elapsed_time = run_command(cmd)
|
||||||
|
@ -358,7 +351,7 @@ def scan_package(work_path, cppcheck_path, jobs, libraries):
|
||||||
if cppcheck_path == 'cppcheck':
|
if cppcheck_path == 'cppcheck':
|
||||||
# re-run within gdb to get a stacktrace
|
# re-run within gdb to get a stacktrace
|
||||||
cmd = 'gdb --batch --eval-command=run --eval-command="bt 50" --return-child-result --args ' + cppcheck_cmd + " -j1"
|
cmd = 'gdb --batch --eval-command=run --eval-command="bt 50" --return-child-result --args ' + cppcheck_cmd + " -j1"
|
||||||
dummy, st_stdout, dummy, dummy = run_command(cmd)
|
_, st_stdout, _, _ = run_command(cmd)
|
||||||
gdb_pos = st_stdout.find(" received signal")
|
gdb_pos = st_stdout.find(" received signal")
|
||||||
if not gdb_pos == -1:
|
if not gdb_pos == -1:
|
||||||
last_check_pos = st_stdout.rfind('Checking ', 0, gdb_pos)
|
last_check_pos = st_stdout.rfind('Checking ', 0, gdb_pos)
|
||||||
|
@ -377,11 +370,9 @@ def scan_package(work_path, cppcheck_path, jobs, libraries):
|
||||||
returncode = -100-returncode
|
returncode = -100-returncode
|
||||||
return returncode, stdout, '', returncode, options, ''
|
return returncode, stdout, '', returncode, options, ''
|
||||||
|
|
||||||
if sig_pos != -1:
|
if sig_num != -1:
|
||||||
print('Error!')
|
print('Error!')
|
||||||
pos2 = stderr.find(' [cppcheckError]', sig_pos)
|
return -sig_num, ''.join(internal_error_messages_list), '', -sig_num, options, ''
|
||||||
signr = int(stderr[sig_pos+len(sig_msg):pos2])
|
|
||||||
return -signr, '', '', -signr, options, ''
|
|
||||||
|
|
||||||
thr_pos = stderr.find('#### ThreadExecutor')
|
thr_pos = stderr.find('#### ThreadExecutor')
|
||||||
if thr_pos != -1:
|
if thr_pos != -1:
|
||||||
|
@ -406,7 +397,7 @@ def split_results(results):
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def diff_results(work_path, ver1, results1, ver2, results2):
|
def diff_results(ver1, results1, ver2, results2):
|
||||||
print('Diff results..')
|
print('Diff results..')
|
||||||
ret = ''
|
ret = ''
|
||||||
r1 = sorted(split_results(results1))
|
r1 = sorted(split_results(results1))
|
||||||
|
@ -524,6 +515,11 @@ def get_libraries():
|
||||||
return libraries
|
return libraries
|
||||||
|
|
||||||
|
|
||||||
|
def get_compiler_version():
|
||||||
|
_, stdout, _, _ = run_command('g++ --version')
|
||||||
|
return stdout.split('\n')[0]
|
||||||
|
|
||||||
|
|
||||||
my_script_name = os.path.splitext(os.path.basename(sys.argv[0]))[0]
|
my_script_name = os.path.splitext(os.path.basename(sys.argv[0]))[0]
|
||||||
jobs = '-j1'
|
jobs = '-j1'
|
||||||
stop_time = None
|
stop_time = None
|
||||||
|
|
|
@ -155,7 +155,7 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
with open(result_file, 'a') as myfile:
|
with open(result_file, 'a') as myfile:
|
||||||
myfile.write(package + '\n')
|
myfile.write(package + '\n')
|
||||||
diff = lib.diff_results(work_path, 'main', results_to_diff[0], 'your', results_to_diff[1])
|
diff = lib.diff_results('main', results_to_diff[0], 'your', results_to_diff[1])
|
||||||
if diff != '':
|
if diff != '':
|
||||||
myfile.write('diff:\n' + diff + '\n')
|
myfile.write('diff:\n' + diff + '\n')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue