code: def test_obs_mask_ok(Kernel, options, mask):
      data = torch.tensor([7.0, 7.0, 7.0])
  
      def model():
          x = pyro.sample("x", dist.Normal(0.0, 1.0))
          with pyro.plate("plate", len(data)):
              y = pyro.sample(
                  "y", dist.Normal(x, 1.0), obs=data, obs_mask=mask
              )
              assert ((y == data) == mask).all()
  
      mcmc_kernel = Kernel(model, max_plate_nesting=0, **options)
      assert_ok(mcmc_kernel)
  
imports: import io
  import logging
  import pytest
  import torch
  import pyro
  import pyro.distributions
  import pyro.poutine
  from pyro.infer import config_enumerate
  from pyro.infer.mcmc import HMC, NUTS
  from pyro.infer.mcmc.api import MCMC
  from pyro.infer.mcmc.util import TraceEinsumEvaluator, TraceTreeEvaluator, initialize_model
  from pyro.infer.reparam import LatentStableReparam
  from pyro.poutine.subsample_messenger import _Subsample
  from tests.common import assert_close, assert_equal, xfail_param
label_desc: Use image node_id 19 for calling a global function with example usage: test_obs_mask_ok(Kernel, options, mask) without return types