summaryrefslogtreecommitdiff
path: root/config/check_js_msg_encoding.py
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /config/check_js_msg_encoding.py
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloaduxp-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
Add m-esr52 at 52.6.0
Diffstat (limited to 'config/check_js_msg_encoding.py')
-rw-r--r--config/check_js_msg_encoding.py68
1 files changed, 68 insertions, 0 deletions
diff --git a/config/check_js_msg_encoding.py b/config/check_js_msg_encoding.py
new file mode 100644
index 0000000000..295cd08557
--- /dev/null
+++ b/config/check_js_msg_encoding.py
@@ -0,0 +1,68 @@
+# vim: set ts=8 sts=4 et sw=4 tw=99:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#----------------------------------------------------------------------------
+# This script checks encoding of the files that define JSErrorFormatStrings.
+#
+# JSErrorFormatString.format member should be in ASCII encoding.
+#----------------------------------------------------------------------------
+
+from __future__ import print_function
+
+import os
+import sys
+
+from mozversioncontrol import get_repository_from_env
+
+
+scriptname = os.path.basename(__file__);
+expected_encoding = 'ascii'
+
+# The following files don't define JSErrorFormatString.
+ignore_files = [
+ 'dom/base/domerr.msg',
+ 'js/xpconnect/src/xpc.msg',
+]
+
+def log_pass(filename, text):
+ print('TEST-PASS | {} | {} | {}'.format(scriptname, filename, text))
+
+def log_fail(filename, text):
+ print('TEST-UNEXPECTED-FAIL | {} | {} | {}'.format(scriptname, filename,
+ text))
+
+def check_single_file(filename):
+ with open(filename, 'rb') as f:
+ data = f.read()
+ try:
+ data.decode(expected_encoding)
+ except:
+ log_fail(filename, 'not in {} encoding'.format(expected_encoding))
+
+ log_pass(filename, 'ok')
+ return True
+
+def check_files():
+ result = True
+
+ repo = get_repository_from_env()
+ root = repo.path
+
+ for filename in repo.get_files_in_working_directory():
+ if filename.endswith('.msg'):
+ if filename not in ignore_files:
+ if not check_single_file(os.path.join(root, filename)):
+ result = False
+
+ return result
+
+def main():
+ if not check_files():
+ sys.exit(1)
+
+ sys.exit(0)
+
+if __name__ == '__main__':
+ main()