mbox series

[v4,0/1,GSOC] userdiff:Added newlines at the end of the test cases

Message ID 20250330134018.9662-1-dhar61595@gmail.com (mailing list archive)
Headers show
Series userdiff:Added newlines at the end of the test cases | expand

Message

Moumita March 30, 2025, 1:39 p.m. UTC
While making this change, I  considered whether shell scripts can lack a final newline and whether it would be useful to test this case. Technically, a shell script can be missing a final newline, 
and shells like Bash can still process it. However, this is uncommon and generally discouraged due to POSIX and Unix conventions and
also although Bash can process such files, missing a final newline can cause unexpected behavior in edge cases—such as when concatenating scripts, where the last 
line of one script might merge with the first line of another.

Given these considerations, I have added the missing newline to the test files to align with standard conventions and avoid
 unnecessary confusion for future developers.

If testing function detection in a file without a final newline is considered useful
, I can add a separate test specifically for that edge case. Let me know if that would be helpful.

Moumita Dhar (1):
  userdiff: extend Bash pattern to cover more shell function forms

 t/t4018/bash-bashism-style-multiline-function |  4 +++
 t/t4018/bash-posix-style-multiline-function   |  4 +++
 .../bash-posix-style-single-command-function  |  3 ++
 t/t4034-diff-words.sh                         |  1 +
 t/t4034/bash/expect                           | 30 +++++++++++++++++++
 t/t4034/bash/post                             | 25 ++++++++++++++++
 t/t4034/bash/pre                              | 25 ++++++++++++++++
 userdiff.c                                    | 24 +++++++++++----
 8 files changed, 110 insertions(+), 6 deletions(-)
 create mode 100644 t/t4018/bash-bashism-style-multiline-function
 create mode 100644 t/t4018/bash-posix-style-multiline-function
 create mode 100644 t/t4018/bash-posix-style-single-command-function
 create mode 100644 t/t4034/bash/expect
 create mode 100644 t/t4034/bash/post
 create mode 100644 t/t4034/bash/pre

Range-diff against v3:
1:  3d077fadc4 ! 1:  40cffd3b4a userdiff: extend Bash pattern to cover more shell function forms
    @@ t/t4018/bash-bashism-style-multiline-function (new)
     +{    
     +    echo 'ChangeMe'
     +}
    - \ No newline at end of file
     
      ## t/t4018/bash-posix-style-multiline-function (new) ##
     @@
    @@ t/t4018/bash-posix-style-multiline-function (new)
     +{
     +    ChangeMe
     +}
    - \ No newline at end of file
     
      ## t/t4018/bash-posix-style-single-command-function (new) ##
     @@