code: def test_package_data(self):
      sources = self.mkdtemp()
      f = open(os.path.join(sources, "__init__.py"), "w")
      try:
          f.write("# Pretend this is a package.")
      finally:
          f.close()
      f = open(os.path.join(sources, "README.txt"), "w")
      try:
          f.write("Info about this package")
      finally:
          f.close()
  
      destination = self.mkdtemp()
  
      dist = Distribution(
          {"packages": ["pkg"], "package_dir": {"pkg": sources}}
      )
      # script_name need not exist, it just need to be initialized
      dist.script_name = os.path.join(sources, "setup.py")
      dist.command_obj["build"] = support.DummyCommand(
          force=0, build_lib=destination
      )
      dist.packages = ["pkg"]
      dist.package_data = {"pkg": ["README.txt"]}
      dist.package_dir = {"pkg": sources}
  
      cmd = build_py(dist)
      cmd.compile = 1
      cmd.ensure_finalized()
      self.assertEqual(cmd.package_data, dist.package_data)
  
      cmd.run()
  
      # This makes sure the list of outputs includes byte-compiled
      # files for Python modules but not for package data files
      # (there shouldn't *be* byte-code files for those!).
      #
      self.assertEqual(len(cmd.get_outputs()), 3)
      pkgdest = os.path.join(destination, "pkg")
      files = os.listdir(pkgdest)
      self.assertIn("__init__.py", files)
      self.assertIn("README.txt", files)
      # XXX even with -O, distutils writes pyc, not pyo; bug?
      if sys.dont_write_bytecode:
          self.assertNotIn("__init__.pyc", files)
      else:
          self.assertIn("__init__.pyc", files)
  
file_path: catboost/contrib/tools/python/src/Lib/distutils/tests/test_build_py.py
imports: import os
  import sys
  import StringIO
  import unittest
  from distutils.command.build_py import build_py
  from distutils.core import Distribution
  from distutils.errors import DistutilsFileError
  from distutils.tests import support
  from test.test_support import run_unittest
label_desc: Use image node_id 1 for calling the BuildPyTestCase obj's underlying member method code with example usage: obj.test_package_data() without return types