code: def test_nonfinite():
      def _assert_equal_arrays(a1, a2):
          assert a1.shape == a2.shape
          for xtest, xgood in zip(a1, a2):
              assert (xtest == xgood) or (
                  np.isnan(xtest) and np.isnan(xgood)
              )
  
      x = np.array([-np.inf, 0.0, 1.0, 2.0, np.nan, 4.0, np.inf])
      y = np.array([1.0, 0.0, -1.0, np.inf, 2.0, np.nan, 0.0])
      pdi = pg.PlotDataItem(x, y)
      dataset = pdi._getDisplayDataset()
      _assert_equal_arrays(dataset.x, x)
      _assert_equal_arrays(dataset.y, y)
  
      with warnings.catch_warnings():
          warnings.simplefilter("ignore")
          x_log = np.log10(x)
          y_log = np.log10(y)
      x_log[~np.isfinite(x_log)] = np.nan
      y_log[~np.isfinite(y_log)] = np.nan
  
      pdi.setLogMode(True, True)
      dataset = pdi._getDisplayDataset()
      _assert_equal_arrays(dataset.x, x_log)
      _assert_equal_arrays(dataset.y, y_log)
  
file_path: pyqtgraph/tests/graphicsItems/test_PlotDataItem.py
imports: import warnings
  import numpy
  import pyqtgraph
  from pyqtgraph.Qt import QtGui
label_desc: Use image node_id 5 for calling a global function with example usage: test_nonfinite() without return types