Before:
  call ale#assert#SetUpLinterTest('nasm', 'nasm')

  let b:command_tail =
  \ ' -X gnu -I ' . ale#Escape(getcwd() . (has('win32') ? '\' : '/')) . ' %s -o ' . (has('win32') ? 'NUL' : '/dev/null')
  let b:command_tail_opt =
  \ ' -X gnu -I ' . ale#Escape(getcwd() . (has('win32') ? '\' : '/')) . ' -w+orphan-labels %s -o ' . (has('win32') ? 'NUL' : '/dev/null')

After:
  unlet! b:command_tail
  unlet! b:command_tail_opt

  call ale#assert#TearDownLinterTest()

Execute(The executable should be configurable):
  AssertLinter 'nasm', ale#Escape('nasm') . b:command_tail,

  let b:ale_nasm_nasm_executable = '~/nasm'

  AssertLinter '~/nasm', ale#Escape('~/nasm') . b:command_tail

Execute(The options should be configurable):
  let b:ale_nasm_nasm_options = '-w-macro-params'

  AssertLinter 'nasm', ale#Escape('nasm')
  \ . ' -X gnu -I ' . ale#Escape(getcwd() . (has('win32') ? '\' : '/')) . ' -w-macro-params %s -o ' . (has('win32') ? 'NUL' : '/dev/null')

Execute(The options should be used in command):
  let b:ale_nasm_nasm_options = '-w+orphan-labels'

  AssertLinter 'nasm', ale#Escape('nasm') . b:command_tail_opt