def test_duplicate_rule_no_match(self): self.set_options(fail_fast=False) task, jvm_binary = self._setup_external_duplicate_with_rules( rules=JarRules([Skip('^com/twitter/commons/DoesNotExist.class$')])) conflicts_by_binary = task.execute() expected = { jvm_binary: { ('org.example-dups-0.0.1.jar', 'org.example-test-0.0.1.jar'): {'com/twitter/commons/Duplicate.class'} } } self.assertEqual(expected, conflicts_by_binary)
def test_deploy_jar_rules(self): target = self.make_target(':foo', JvmBinary, main='com.example.Foo', deploy_jar_rules=JarRules([Duplicate('foo', Duplicate.SKIP)], default_dup_action=Duplicate.FAIL)) jar_rules = target.deploy_jar_rules self.assertEquals(1, len(jar_rules.rules)) self.assertEquals('foo', jar_rules.rules[0].apply_pattern.pattern) self.assertEquals(repr(Duplicate.SKIP), repr(jar_rules.rules[0].action)) # <object object at 0x...> self.assertEquals(Duplicate.FAIL, jar_rules.default_dup_action)
def test_jar_rules_field(self): field1 = FingerprintedField( JarRules(rules=[Duplicate('foo', Duplicate.SKIP)])) field1_same = FingerprintedField( JarRules(rules=[Duplicate('foo', Duplicate.SKIP)])) field2 = FingerprintedField( JarRules(rules=[Duplicate('foo', Duplicate.CONCAT)])) field3 = FingerprintedField( JarRules(rules=[Duplicate('bar', Duplicate.SKIP)])) field4 = FingerprintedField( JarRules(rules=[ Duplicate('foo', Duplicate.SKIP), Duplicate('bar', Duplicate.SKIP) ])) field5 = FingerprintedField( JarRules(rules=[Duplicate('foo', Duplicate.SKIP), Skip('foo')])) field6 = FingerprintedField( JarRules(rules=[Duplicate('foo', Duplicate.SKIP)], default_dup_action=Duplicate.FAIL)) field6_same = FingerprintedField( JarRules(rules=[Duplicate('foo', Duplicate.SKIP)], default_dup_action=Duplicate.FAIL)) field7 = FingerprintedField(JarRules(rules=[Skip('foo')])) field8 = FingerprintedField(JarRules(rules=[Skip('bar')])) field8_same = FingerprintedField(JarRules(rules=[Skip('bar')])) self.assertEquals(field1.fingerprint(), field1_same.fingerprint()) self.assertEquals(field6.fingerprint(), field6_same.fingerprint()) self.assertEquals(field8.fingerprint(), field8_same.fingerprint()) self._assert_fingerprints_not_equal( [field1, field2, field3, field4, field5, field6, field7])
def test_duplicate_rule_skip(self): self.set_options(fail_fast=False) task, _ = self._setup_external_duplicate_with_rules( rules=JarRules([Skip('^com/twitter/commons/Duplicate.class$')])) conflicts_by_binary = task.execute() self.assertEqual({}, conflicts_by_binary)