async function readSuite( directory, file ) {

  if ( !directory || typeof directory !== "string" ) {
    throw new InvalidArgumentError( `Directory is empty or not a string` );
  }
  if ( !file || typeof file !== "string" ) {
    throw new InvalidArgumentError( `File is empty or not a string` );
  }

  const filePath = join( directory, file );
  // in case of snippets
  if ( file === SNIPPETS_FILENAME && !fs.existsSync( filePath ) ) {
    log.warn( `Suite file ${filePath} not found.` );
    return null;
  }

  try {
    const text = await readFile( filePath, "utf8" );
    return parseJson( text, filePath );
  } catch ( e ) {
    log.warn( `Renderer process: io.readSuite: ${ e }` );
    throw new IoError( `Suite file ${filePath} cannot be open.
          Please make sure that the file exists and that you have read permission for it` );
  }
}
Read suite file from given directory
@param {String} directory
@param {String} file
@returns {Array|Object}