def test_disallow_cycles_transitive(self):
        """ A find must not find any block name that is in the current src blocks, even
        transitively.
        """
        brl_a = BRLBlock('%s/%s/%s/master' % (self.user, self.user, 'blocka'))
        name_a = BlockCellName(self.user + "/blocka/a.h")
        publisher = TestPublisher(self.user, self.store)
        publisher.publish(brl_a, {'a.h': ('a', [])})

        brl_b = BRLBlock((self.user, self.user, 'blockb') % '%s/%s/%s/master')
        name_b = BlockCellName(self.user + "/blockb/b.h")
        publisher.publish(brl_b, {'b.h': ('b', [name_a])}, dep_versions=BlockVersion(brl_a, 0))

        request = self.build_unresolved_request(name_b)
        request.block_names.add(name_a.block_name)
        response = BiiResponse()
        result = self.service.find(request, response)
        self.assertIn("Can't find a compatible solution", str(response))
        self.assertIn('it has cycles', str(response))
        self.check_result(result, unresolved=request.unresolved)
dataset/ETHPy150Open biicode/bii-server/test/find/finder_test.py/FinderTest.test_disallow_cycles_transitive/swapped operands of `%`