code: def test_default_layout(self):
      mesh = jtu.create_global_mesh((4, 2), ("x", "y"))
      shape = (8, 4, 2)
      np_inp = np.arange(math.prod(shape)).reshape(shape)
      s = NamedSharding(mesh, P("x", "y"))
      arr = jax.device_put(np_inp, s)
  
      def f(x):
          return x.T
  
      lowered = jax.jit(f).lower(
          arr, _in_layouts=None, _out_layouts=None
      )
      self.assertIn("default", lowered.as_text())
      compiled = lowered.compile()
      out = compiled(arr)
  
      self.assertTupleEqual(
          compiled._input_layouts()[0][0]._minor_to_major, (2, 1, 0)
      )
      self.assertTupleEqual(
          compiled._output_layouts()._minor_to_major, (2, 1, 0)
      )
      self.assertArraysEqual(out, np_inp.T)
      self.assertEqual(
          out.sharding, NamedSharding(mesh, P(None, "y", "x"))
      )
  
      compiled_auto = (
          jax.jit(f)
          .lower(arr, _in_layouts=layout.AUTO, _out_layouts=layout.AUTO)
          .compile()
      )
      self.assertTupleEqual(
          compiled_auto._input_layouts()[0][0]._minor_to_major,
          (2, 1, 0),
      )
      self.assertTupleEqual(
          compiled_auto._output_layouts()._minor_to_major, (0, 1, 2)
      )
  
imports: import math
  import os
  from absl.testing import absltest
  import numpy
  import jax
  from jax.sharding import NamedSharding, PartitionSpec
  from jax._src import config
  from jax._src import layout
  from jax._src import test_util
  from jax._src.util import safe_zip
  from jax._src import xla_bridge
  from jax._src.lib import xla_extension_version
label_desc: Use image node_id 3 for calling the LayoutTest obj's underlying member method code with example usage: obj.test_default_layout() and returns: x