Before:
  runtime ale_linters/thrift/thrift.vim

After:
  call ale#linter#Reset()

Execute(The thrift handler should handle basic warnings and errors):
  AssertEqual
  \ [
  \   {
  \     'lnum': 17,
  \     'col': 0,
  \     'type': 'W',
  \     'text': 'The "byte" type is a compatibility alias for "i8". Use i8" to emphasize the signedness of this type.',
  \   },
  \   {
  \     'lnum': 20,
  \     'col': 0,
  \     'type': 'W',
  \     'text': 'Could not find include file include.thrift',
  \   },
  \   {
  \     'lnum': 83,
  \     'col': 0,
  \     'type': 'E',
  \     'text': 'Enum FOO is already defined!',
  \   },
  \ ],
  \ ale_linters#thrift#thrift#Handle(1, [
  \   '[WARNING:/path/filename.thrift:17] The "byte" type is a compatibility alias for "i8". Use i8" to emphasize the signedness of this type.',
  \   '[WARNING:/path/filename.thrift:20] Could not find include file include.thrift',
  \   '[FAILURE:/path/filename.thrift:83] Enum FOO is already defined!',
  \ ])

Execute(The thrift handler should handle multiline errors):
  AssertEqual
  \ [
  \   {
  \     'lnum': 75,
  \     'col': 0,
  \     'type': 'E',
  \     'text': 'This integer is too big: "11111111114213213453243"',
  \   },
  \   {
  \     'lnum': 76,
  \     'col': 0,
  \     'type': 'E',
  \     'text': 'Implicit field keys are deprecated and not allowed with -strict',
  \   },
  \   {
  \     'lnum': 77,
  \     'col': 0,
  \     'type': 'E',
  \     'text': "Unknown error (last token was ';')",
  \   },
  \ ],
  \ ale_linters#thrift#thrift#Handle(1, [
  \   "[ERROR:/path/filename.thrift:75] (last token was '11111111114213213453243')",
  \   'This integer is too big: "11111111114213213453243"',
  \   "[ERROR:/path/filename.thrift:76] (last token was ';')",
  \   'Implicit field keys are deprecated and not allowed with -strict',
  \   "[ERROR:/path/filename.thrift:77] (last token was ';')",
  \ ])
