code: def test_num_cpu_cores(backend_fw):
      with BackendHandler.update_backend(backend_fw) as ivy_backend:
          # using multiprocessing module too because ivy uses psutil as basis.
          p_cpu_cores = psutil.cpu_count()
          m_cpu_cores = multiprocessing.cpu_count()
          assert isinstance(ivy_backend.num_cpu_cores(), int)
          assert ivy_backend.num_cpu_cores() == p_cpu_cores
          assert ivy_backend.num_cpu_cores() == m_cpu_cores
  
imports: import io
  import multiprocessing
  import os
  import re
  import shutil
  import sys
  import warnings
  import numpy
  import psutil
  import subprocess
  from hypothesis import strategies, assume
  import ivy
  import ivy_tests.test_ivy.helpers
  import ivy_tests.test_ivy.helpers.globals
  from ivy_tests.test_ivy.helpers import handle_test, BackendHandler
label_desc: Use image node_id 20 for calling a global function with example usage: test_num_cpu_cores(backend_fw) without return types