code: def test_ext_fullpath(self):
      ext = sysconfig.get_config_vars()["SO"]
      dist = Distribution()
      cmd = build_ext(dist)
      cmd.inplace = 1
      cmd.distribution.package_dir = {"": "src"}
      cmd.distribution.packages = ["lxml", "lxml.html"]
      curdir = os.getcwd()
      wanted = os.path.join(curdir, "src", "lxml", "etree" + ext)
      path = cmd.get_ext_fullpath("lxml.etree")
      self.assertEqual(wanted, path)
  
      # building lxml.etree not inplace
      cmd.inplace = 0
      cmd.build_lib = os.path.join(curdir, "tmpdir")
      wanted = os.path.join(curdir, "tmpdir", "lxml", "etree" + ext)
      path = cmd.get_ext_fullpath("lxml.etree")
      self.assertEqual(wanted, path)
  
      # building twisted.runner.portmap not inplace
      build_py = cmd.get_finalized_command("build_py")
      build_py.package_dir = {}
      cmd.distribution.packages = ["twisted", "twisted.runner.portmap"]
      path = cmd.get_ext_fullpath("twisted.runner.portmap")
      wanted = os.path.join(
          curdir, "tmpdir", "twisted", "runner", "portmap" + ext
      )
      self.assertEqual(wanted, path)
  
      # building twisted.runner.portmap inplace
      cmd.inplace = 1
      path = cmd.get_ext_fullpath("twisted.runner.portmap")
      wanted = os.path.join(
          curdir, "twisted", "runner", "portmap" + ext
      )
      self.assertEqual(wanted, path)
  
imports: import sys
  import os
  from StringIO import StringIO
  import textwrap
  from distutils.core import Extension, Distribution
  from distutils.command.build_ext import build_ext
  from distutils import sysconfig
  from distutils.tests import support
  from distutils.errors import DistutilsSetupError, CompileError, DistutilsPlatformError
  import unittest
  from test import test_support
label_desc: Use image node_id 11 for calling the BuildExtTestCase obj's underlying member method code with example usage: obj.test_ext_fullpath() without return types