code: def test_read_commandline_bad_cmd(dataframe):
      """
      Test 1 raises a TypeError if read_commandline
          is given an input that is not a string.
  
      Test 2 raises a CalledProcessError if
          read_commandline is given a string
          which is not a valid bash command.
  
      Test 3 raises an EmptyDataError if
          read_commandline is given a string which
          is a valid bash command, however results
          in the shell not creating a dataframe.
      """
      temp_dir = tempfile.gettempdir()
  
      # create a temporary .csv file
      dataframe.to_csv(f"{temp_dir}/dataframe.csv")
  
      # Test 1
      with pytest.raises(TypeError):
          janitor.io.read_commandline(6)
  
      # Test 2
      with pytest.raises(CalledProcessError):
          janitor.io.read_commandline("bad command")
  
      # Test 3
      # windows does not support "cat" in commandline
      # "type" command must be used and it returns a different error
      cmd = "cat"
  
      ExpectedError = pd.errors.EmptyDataError
      if sys.platform in ["win32"]:
          cmd = "type"
          ExpectedError = CalledProcessError
  
      with pytest.raises(ExpectedError):
          janitor.io.read_commandline(cmd)
  
      # clean up after the tests
      os.unlink(f"{temp_dir}/dataframe.csv")
  
file_path: pyjanitor/tests/io/test_read_commandline.py
imports: import os
  import sys
  import tempfile
  from subprocess import CalledProcessError
  import pandas
  import pytest
  import janitor.io
label_desc: Use image node_id 2 for calling a global function with example usage: test_read_commandline_bad_cmd(dataframe) without return types