// The form token CSRF protection should not interfere with this test, so we
// bypass it by setting the token to FALSE.
$form['#token'
] = FALSE;
$edit['form_id'
] =
$form_id;
// Disable page redirect for forms submitted programmatically. This is a
// solution to skip the redirect step (there are no pages, then the redirect
// isn't possible).
$form_state->
disableRedirect();
$form_state->
setUserInput($edit);
$form_state->
setFormObject(new StubForm($form_id,
$form));
\Drupal::
formBuilder()->
prepareForm($form_id,
$form,
$form_state);
\Drupal::
formBuilder()->
processForm($form_id,
$form,
$form_state);
$errors =
$form_state->
getErrors();
// Clear errors and messages.
\Drupal::
messenger()->
deleteAll();
$form_state->
clearErrors();