@SkipTest
    def test_hashed_column_mapping(self):
        def get_hc_dim(expr, column):
            """Return the mapped dimension in hyper cube."""
            return expr.mapped_hc_dimensions[expr.hashed_columns.index(column)]

        def get_shuffle_producers(expr):
            """ Go two steps deeper in the tree, find shuffle producers.
            """
            ret = [child.input.input for child in expr.children()]
            return tuple(ret)

        # 1. triangular join
        triangular_join = testNaryJoin.get_phys_plan_root(
            "A(x,y,z):-R(x,y),S(y,z),T(z,x)", 64)
        shuffle_r, shuffle_s, shuffle_t = get_shuffle_producers(
            triangular_join)
        # x in R and x in T are shuffled to the same dimension
        self.assertEqual(get_hc_dim(shuffle_r, 0), get_hc_dim(shuffle_t, 1))
        # y in R and y in S are shuffled to the same dimension
        self.assertEqual(get_hc_dim(shuffle_r, 1), get_hc_dim(shuffle_s, 0))
        # z in S and z in T are shuffled to the same dimension
        self.assertEqual(get_hc_dim(shuffle_s, 1), get_hc_dim(shuffle_t, 0))

        # 2. star join
        star_join = testNaryJoin.get_phys_plan_root(
            "A(x,y,z,p):-R(x,y),S(x,z),T(x,p)", 64)
        shuffle_r, shuffle_s, shuffle_t = get_shuffle_producers(star_join)
        # x in R and x in S are shuffled to the same dimension
        self.assertEqual(get_hc_dim(shuffle_r, 0), get_hc_dim(shuffle_s, 0))
        # x in S and x in T are shuffled to the same dimension
        self.assertEqual(get_hc_dim(shuffle_s, 0), get_hc_dim(shuffle_t, 0))
Tests that a SaltCloudSystemExit is raised when something other than
dataset/ETHPy150Open uwescience/raco/raco/nary_join_rules_test.py/testNaryJoin.test_hashed_column_mapping--crossover with--dataset/ETHPy150Open saltstack/salt/tests/unit/cloud/clouds/opennebula_test.py/OpenNebulaTestCase.test_vm_detach_action_error