selftest: Add new test to run krb5.kdc.canon against a user with an SPN for a UPN
[Samba.git] / script / compare_cc_results.py
blob4f97dc371affee0ad0982bfe4ce859aa55b3bd98
1 #!/usr/bin/env python
4 # Compare the results of native and cross-compiled configure tests
7 from __future__ import print_function
8 import sys
9 import difflib
11 exceptions = [
12 'BUILD_DIRECTORY', 'SELFTEST_PREFIX', 'defines',
13 'CROSS_COMPILE', 'CROSS_ANSWERS', 'CROSS_EXECUTE',
14 'LIBSOCKET_WRAPPER_SO_PATH',
15 'LIBNSS_WRAPPER_SO_PATH',
16 'LIBPAM_WRAPPER_SO_PATH',
17 'LIBUID_WRAPPER_SO_PATH',
18 'LIBRESOLV_WRAPPER_SO_PATH',
21 base_lines = list()
22 base_fname = ''
24 found_diff = False
26 for fname in sys.argv[1:]:
27 lines = list()
28 f = open(fname, 'r')
29 for line in f:
30 if line.startswith("cfg_files ="):
31 # waf writes configuration files as absolute paths
32 continue
33 if len(line.split('=', 1)) == 2:
34 key = line.split('=', 1)[0].strip()
35 if key in exceptions:
36 continue
37 lines.append(line)
38 f.close()
39 if base_fname:
40 diff = list(difflib.unified_diff(base_lines, lines, base_fname, fname))
41 if diff:
42 print('configuration files %s and %s do not match' % (base_fname, fname))
43 for l in diff:
44 sys.stdout.write(l)
45 found_diff = True
46 else:
47 base_fname = fname
48 base_lines = lines
50 if found_diff:
51 sys.exit(1)