releasetools: Move verity related functions into verity_utils.py.

This prepares for upcoming changes that refactor verity-related
functions into classes.

This CL makes minimal changes to the moved functions, by creating a new
BuildVerityImageError class in verity_utils.py replacing the former
BuildImageError that's specific to build_image.py. As part of the
change, it also moves the tests for AVBCalcMinPartitionSize into
test_verity_utils.py.

Test: python -m unittest test_verity_utils
Test: `m dist` with aosp_marlin-userdebug (Verified Boot 1.0)
Test: `m dist` with aosp_taimen-userdebug (Verified Boot 2.0)
Change-Id: I19b52714d8980705ea1f9484ac03eb0af9483240
diff --git a/tools/releasetools/test_build_image.py b/tools/releasetools/test_build_image.py
index 6f853e8..634c6b1 100644
--- a/tools/releasetools/test_build_image.py
+++ b/tools/releasetools/test_build_image.py
@@ -15,14 +15,11 @@
 #
 
 import filecmp
-import math
 import os.path
-import random
 
 import common
 from build_image import (
-    AVBCalcMinPartitionSize, BLOCK_SIZE, BuildImageError, CheckHeadroom,
-    SetUpInDirAndFsConfig)
+    BuildImageError, CheckHeadroom, SetUpInDirAndFsConfig)
 from test_utils import ReleaseToolsTestCase
 
 
@@ -32,13 +29,6 @@
   EXT4FS_OUTPUT = (
       "Created filesystem with 2777/129024 inodes and 515099/516099 blocks")
 
-  def setUp(self):
-    # To test AVBCalcMinPartitionSize(), by using 200MB to 2GB image size.
-    #   -  51200 = 200MB * 1024 * 1024 / 4096
-    #   - 524288 = 2GB * 1024 * 1024 * 1024 / 4096
-    self._image_sizes = [BLOCK_SIZE * random.randint(51200, 524288) + offset
-                         for offset in range(BLOCK_SIZE)]
-
   def test_CheckHeadroom_SizeUnderLimit(self):
     # Required headroom: 1000 blocks.
     prop_dict = {
@@ -186,51 +176,3 @@
     self.assertIn('fs-config-system\n', fs_config_data)
     self.assertIn('fs-config-root\n', fs_config_data)
     self.assertEqual('/', prop_dict['mount_point'])
-
-  def test_AVBCalcMinPartitionSize_LinearFooterSize(self):
-    """Tests with footer size which is linear to partition size."""
-    for image_size in self._image_sizes:
-      for ratio in 0.95, 0.56, 0.22:
-        expected_size = common.RoundUpTo4K(int(math.ceil(image_size / ratio)))
-        self.assertEqual(
-            expected_size,
-            AVBCalcMinPartitionSize(image_size, lambda x: int(x * ratio)))
-
-  def test_AVBCalcMinPartitionSize_SlowerGrowthFooterSize(self):
-    """Tests with footer size which grows slower than partition size."""
-
-    def _SizeCalculator(partition_size):
-      """Footer size is the power of 0.95 of partition size."""
-      # Minus footer size to return max image size.
-      return partition_size - int(math.pow(partition_size, 0.95))
-
-    for image_size in self._image_sizes:
-      min_partition_size = AVBCalcMinPartitionSize(image_size, _SizeCalculator)
-      # Checks min_partition_size can accommodate image_size.
-      self.assertGreaterEqual(
-          _SizeCalculator(min_partition_size),
-          image_size)
-      # Checks min_partition_size (round to BLOCK_SIZE) is the minimum.
-      self.assertLess(
-          _SizeCalculator(min_partition_size - BLOCK_SIZE),
-          image_size)
-
-  def test_AVBCalcMinPartitionSize_FasterGrowthFooterSize(self):
-    """Tests with footer size which grows faster than partition size."""
-
-    def _SizeCalculator(partition_size):
-      """Max image size is the power of 0.95 of partition size."""
-      # Max image size grows less than partition size, which means
-      # footer size grows faster than partition size.
-      return int(math.pow(partition_size, 0.95))
-
-    for image_size in self._image_sizes:
-      min_partition_size = AVBCalcMinPartitionSize(image_size, _SizeCalculator)
-      # Checks min_partition_size can accommodate image_size.
-      self.assertGreaterEqual(
-          _SizeCalculator(min_partition_size),
-          image_size)
-      # Checks min_partition_size (round to BLOCK_SIZE) is the minimum.
-      self.assertLess(
-          _SizeCalculator(min_partition_size - BLOCK_SIZE),
-          image_size)