Before:
  Save g:ale_set_lists_synchronously
  Save g:ale_open_list

  let g:ale_set_lists_synchronously = 0

After:
  Restore

  sleep 1ms
  call setloclist(0, [])
  lclose

Execute(The SetLists function should work when run in a timer):
  call ale#list#SetLists(bufnr(''), [
  \ {'bufnr': bufnr(''), 'lnum': 5, 'col': 5, 'text': 'x', 'type': 'E'},
  \])
  sleep 1ms
  AssertEqual [{
  \ 'lnum': 5,
  \ 'bufnr': bufnr(''),
  \ 'col': 5,
  \ 'text': 'x',
  \ 'valid': 1,
  \ 'vcol': 0,
  \ 'nr': 0,
  \ 'type': 'E',
  \ 'pattern': '',
  \}], ale#test#GetLoclistWithoutModule()