class_docstr: Test the 'check_satpy' function.
class_docstr_tok: ["Test","the","'check_satpy","'","function","."]
docstr: Test 'check_satpy' with specific features provided.
docstr_tok: ["Test","'check_satpy","'","with","specific","features","provided","."]
code: def test_specific_check_satpy(self):
      """Test 'check_satpy' with specific features provided."""
      from satpy.utils import check_satpy
  
      with mock.patch("satpy.utils.print") as print_mock:
          check_satpy(
              readers=["viirs_sdr"], extras=("cartopy", "__fake")
          )
          checked_fake = False
          for call in print_mock.mock_calls:
              if len(call[1]) > 0 and "__fake" in call[1][0]:
                  assert "ok" not in call[1][1]
                  checked_fake = True
          assert (
              checked_fake
          ), "Did not find __fake module mentioned in checks"
  
imports: from __future__ import annotations
  import datetime
  import logging
  import typing
  import unittest
  import warnings
  from math import sqrt
  from unittest import mock
  import dask.array
  import numpy
  import pytest
  import xarray
  from satpy.tests.utils import xfail_skyfield_unstable_numpy2
  from satpy.utils import angle2xyz, get_legacy_chunk_size, get_satpos, import_error_helper, lonlat2xyz, proj_units_to_meters, xyz2angle, xyz2lonlat
label_desc: Use image node_id 2 for calling the TestCheckSatpy obj's underlying member method code with example usage: obj.test_specific_check_satpy() without return types