'Check that redundant spec constraints raise errors.
TODO (TG): does this need to be an error? Or should concrete
specs only raise errors if constraints cause a contradiction?'

def test_redundant_spec(self, database):

    mpileaks_zmpi = database.mock.db.query_one('mpileaks    ^zmpi')
    callpath_zmpi = database.mock.db.query_one('callpath    ^zmpi')
    dyninst = database.mock.db.query_one('dyninst')
    mpileaks_mpich2 = database.mock.db.query_one('mpileaks    ^mpich2')
    redundant_specs = [((('/' + mpileaks_zmpi.dag_hash()) + '%') + str(mpileaks_zmpi.compiler)), ((('mpileaks/' + mpileaks_mpich2.dag_hash()) + '@') + str(mpileaks_mpich2.version)), (('callpath    /' + callpath_zmpi.dag_hash()) + '^    libelf'), (('/' + dyninst.dag_hash()) + '    cflags="-O3    -fPIC"')]
    self._check_raises(RedundantSpecError, redundant_specs)
