-
-
Notifications
You must be signed in to change notification settings - Fork 75
Open
Description
Hi,
When using 'equal', if the matched string is spanned over several lines, then some keywords cannot be used after newline.
Keywords are : It/Example/Specify/Todo
Setup:
> shellspec --version
0.28.1
EDIT:
I made something way easier to reproduce.
It seems the 'word' (or anything else) after 'Example' is important as 'Example' alone doesn't crash.
crash_spec.sh
#!/bin/bash
Describe 'crash'
It 'crashes shellspec'
When run echo test
The stdout should be blank
The stderr should equal '
Example word'
The status should be failure
End
End
> shellspec
/bin/sh: line 73: unexpected EOF while looking for matching `''
Unexpected error occurred (syntax error?) occurred in 'spec/crash_spec.sh'
Running: /bin/sh [bash 4.2.46(2)-release]
Finished in 0.39 seconds (user 0.30 seconds, sys 0.02 seconds)
0 examples, 0 failures, aborted by an unexpected error
Aborted with status code [executor: 1] [reporter: 1] [error handler: 102]
Fatal error occurred, terminated with exit status 102.
explicit_failure_spec.sh
#!/bin/bash
Describe 'explicit_failure'
It 'fails with explicit message'
When run echo test
The stdout should be blank
The stderr should equal '
Example word'
## The stderr should equal '
## Example word'
The status should be failure
End
End
> shellspec
Running: /bin/sh [bash 4.2.46(2)-release]
F
Examples:
1) explicit_failure fails with explicit message
When run echo test
1.1) The stdout should be blank
expected: blank (unset or zero length string)
got: "test"
# spec/explicit_failure_spec.sh:7
1.2) The stderr should equal
shellspec_abort 102 "Syntax error: It/Example/Specify/Todo cannot be defined inside of Example in spec/explicit_failure_spec.sh line 9" "" 2>&3
## The stderr should equal
expected: "
shellspec_abort 102 "Syntax error: It/Example/Specify/Todo cannot be defined inside of Example in spec/explicit_failure_spec.sh line 9" "" 2>&3
## The stderr should equal "
got: ""
# spec/explicit_failure_spec.sh:8
1.3) The status should be failure
expected: failure (non-zero)
got: success (zero) [status: 0]
# spec/explicit_failure_spec.sh:12
Finished in 0.32 seconds (user 0.33 seconds, sys 0.03 seconds)
1 example, 1 failure
Failure examples / Errors: (Listed here affect your suite's status)
shellspec spec/explicit_failure_spec.sh:5 # 1) explicit_failure fails with explicit message FAILED
Any help is welcome
Thanks
Aurel
Metadata
Metadata
Assignees
Labels
No labels