def test_use_default_for_non_jvm_target(self): # Not a jvm target, so we will not do the extra hashing a = self.make_target(':a', dependencies=[]) fingerprinter_no_data = JvmFingerprintStrategy() fingerprinter_data = JvmFingerprintStrategy(['test']) hash_no_extra = fingerprinter_no_data.compute_fingerprint(a) hash_extra = fingerprinter_data.compute_fingerprint(a) self.assertEquals(hash_no_extra, hash_extra)
def test_platform_data_differs_from_no_data(self): # Pass in platform data, could be java versions for example. a = self.make_target(':a', target_type=JvmTarget, dependencies=[]) fingerprinter_no_data = JvmFingerprintStrategy() fingerprinter_data = JvmFingerprintStrategy(['test']) hash_no_data = fingerprinter_no_data.compute_fingerprint(a) hash_data = fingerprinter_data.compute_fingerprint(a) self.assertNotEquals(hash_no_data, hash_data)
def _jvm_fingerprint_strategy(self): # Use a fingerprint strategy that allows us to also include java/scala versions. return JvmFingerprintStrategy(self.platform_version_info())
def test_hashing_and_equality(self): self.assertEqual( JvmFingerprintStrategy(), JvmFingerprintStrategy(), ) self.assertEqual( hash(JvmFingerprintStrategy()), hash(JvmFingerprintStrategy()), ) self.assertNotEqual( JvmFingerprintStrategy(), JvmFingerprintStrategy(['test']), ) self.assertNotEqual( hash(JvmFingerprintStrategy()), hash(JvmFingerprintStrategy(['test'])), ) self.assertEqual( JvmFingerprintStrategy(['test']), JvmFingerprintStrategy(('test',)), ) self.assertEqual( hash(JvmFingerprintStrategy(['test'])), hash(JvmFingerprintStrategy(('test',))), ) self.assertEqual( JvmFingerprintStrategy(['a', 'b']), JvmFingerprintStrategy(['b', 'a']), ) self.assertEqual( hash(JvmFingerprintStrategy(['a', 'b'])), hash(JvmFingerprintStrategy(['b', 'a'])), )