From 82490d3de1df2a140c79b493860e04caeb4a014e Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Tue, 9 Apr 2019 00:12:30 -0700 Subject: relesetools: Enable releasetools_test in presubmit. About half of the testcases rely on external tools (i.e. the ones in `otatools.zip`, which are external to releasetools module, but still built by Android). It's WAI as releasetools scripts are mostly for gluing purpose. However, the current support in Soong doesn't allow packing the helper modules as part of the built releasetools_test. This CL adds a decorator that allows declaring external dependencies in testcases, which will be skipped while running in presubmit. It doesn't affect local invocation of `atest releasetools_test`. Fixes: 112080715 Test: `atest releasetools_test` Test: TreeHugger; check that releasetools_test is invoked (and test passes). Change-Id: I8fdeb6549023cf5ddeb79d610c7c37cf9f13d3cc --- tools/releasetools/test_apex_utils.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'tools/releasetools/test_apex_utils.py') diff --git a/tools/releasetools/test_apex_utils.py b/tools/releasetools/test_apex_utils.py index 76d4d58df2..c7d5807302 100644 --- a/tools/releasetools/test_apex_utils.py +++ b/tools/releasetools/test_apex_utils.py @@ -39,6 +39,7 @@ class ApexUtilsTest(test_utils.ReleaseToolsTestCase): payload_fp.write(os.urandom(8192)) return payload_file + @test_utils.SkipIfExternalToolsUnavailable() def test_ParseApexPayloadInfo(self): payload_file = self._GetTestPayload() apex_utils.SignApexPayload( @@ -48,12 +49,14 @@ class ApexUtilsTest(test_utils.ReleaseToolsTestCase): self.assertEqual(self.SALT, payload_info['Salt']) self.assertEqual('testkey', payload_info['apex.key']) + @test_utils.SkipIfExternalToolsUnavailable() def test_SignApexPayload(self): payload_file = self._GetTestPayload() apex_utils.SignApexPayload( payload_file, self.payload_key, 'testkey', 'SHA256_RSA2048', self.SALT) apex_utils.VerifyApexPayload(payload_file, self.payload_key) + @test_utils.SkipIfExternalToolsUnavailable() def test_SignApexPayload_withSignerHelper(self): payload_file = self._GetTestPayload() signing_helper = os.path.join(self.testdata_dir, 'signing_helper.sh') @@ -67,6 +70,7 @@ class ApexUtilsTest(test_utils.ReleaseToolsTestCase): payload_signer_args) apex_utils.VerifyApexPayload(payload_file, self.payload_key) + @test_utils.SkipIfExternalToolsUnavailable() def test_SignApexPayload_invalidKey(self): self.assertRaises( apex_utils.ApexSigningError, @@ -77,6 +81,7 @@ class ApexUtilsTest(test_utils.ReleaseToolsTestCase): 'SHA256_RSA2048', self.SALT) + @test_utils.SkipIfExternalToolsUnavailable() def test_VerifyApexPayload_wrongKey(self): payload_file = self._GetTestPayload() apex_utils.SignApexPayload( -- cgit v1.2.3-59-g8ed1b