code: def test_var_std(
      ctx, t1_f32, t2_f32, t1_f32_sharding, t2_f32_sharding, op
  ):
      assert torch.isclose(op(t1_f32), op(torch.cat(t1_f32_sharding)))
      assert torch.allclose(
          op(t1_f32, dim=0), op(torch.cat(t1_f32_sharding), dim=0)
      )
      assert torch.allclose(
          op(t1_f32, dim=0, unbiased=False),
          op(torch.cat(t1_f32_sharding), dim=0, unbiased=False),
      )
      assert op(t1_f32, dim=1) == DTensor.from_sharding_list(
          ctx, [op(s, dim=1) for s in t1_f32_sharding], num_partitions=3
      )
      assert op(
          t1_f32, dim=1, keepdim=True
      ) == DTensor.from_sharding_list(
          ctx,
          [op(s, dim=1, keepdim=True) for s in t1_f32_sharding],
          num_partitions=3,
      )
  
imports: import pytest
  import torch
  from fate.arch import Context
  from fate.arch.computing.backends.standalone import CSession
  from fate.arch.federation.backends.standalone import StandaloneFederation
  from fate.arch.tensor import DTensor
  from pytest import fixture
label_desc: Use image node_id 12 for calling a global function with example usage: test_var_std(ctx, t1_f32, t2_f32, t1_f32_sharding, t2_f32_sharding, op) without return types