Add a simple test that the built and checked in PAR files match. (#10)

diff --git a/WORKSPACE b/WORKSPACE
index 430dfe7..69bfda2 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -52,7 +52,8 @@
 git_repository(
     name = "subpar",
     remote = "https://github.com/google/subpar",
-    tag = "1.1.0",
+    # HEAD as of 2018/02/15
+    commit = "1f695ee5d42585a66d9dd9b71219eb8551e59c89",
 )
 
 # Test data for WHL tool testing.
diff --git a/tools/BUILD b/tools/BUILD
index a2e3977..29ffe59 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -17,3 +17,14 @@
 
 # This is generated and updated by ./update_tools.sh
 exports_files(["piptool.par", "whltool.par"])
+
+py_test(
+    name = "par_test",
+    srcs = ["par_test.py"],
+    data = [
+        "//rules_python:piptool.par",
+        "//rules_python:whltool.par",
+        ":piptool.par",
+        ":whltool.par",
+    ],
+)
diff --git a/tools/par_test.py b/tools/par_test.py
new file mode 100644
index 0000000..2ea808c
--- /dev/null
+++ b/tools/par_test.py
@@ -0,0 +1,45 @@
+# Copyright 2017 The Bazel Authors. All rights reserved.
+#
+# Licensed 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.
+
+import hashlib
+import os
+import unittest
+
+
+def TestData(name):
+  return os.path.join(os.environ['TEST_SRCDIR'], 'io_bazel_rules_python', name)
+
+
+class WheelTest(unittest.TestCase):
+
+  def test_piptool_matches(self):
+    with open(TestData('rules_python/piptool.par'), 'r') as f:
+      built = f.read()
+    with open(TestData('tools/piptool.par'), 'r') as f:
+      checked_in = f.read()
+    self.assertEquals(
+      hashlib.sha256(built).hexdigest(), hashlib.sha256(checked_in).hexdigest(),
+      'The checked in tools/piptool.par does not match the latest build.')
+
+  def test_whltool_matches(self):
+    with open(TestData('rules_python/whltool.par'), 'r') as f:
+      built = f.read()
+    with open(TestData('tools/whltool.par'), 'r') as f:
+      checked_in = f.read()
+    self.assertEquals(
+      hashlib.sha256(built).hexdigest(), hashlib.sha256(checked_in).hexdigest(),
+      'The checked in tools/whltool.par does not match the latest build.')
+
+if __name__ == '__main__':
+  unittest.main()
diff --git a/tools/piptool.par b/tools/piptool.par
index 206a33d..b7a62c5 100755
--- a/tools/piptool.par
+++ b/tools/piptool.par
Binary files differ
diff --git a/tools/whltool.par b/tools/whltool.par
index fece5b0..8e2f342 100755
--- a/tools/whltool.par
+++ b/tools/whltool.par
Binary files differ