-
Notifications
You must be signed in to change notification settings - Fork 1.4k
test_configdsl: fix test using pipe command #5159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Shizuo Fujita <[email protected]>
d576ebb to
181d089
Compare
|
Thanks! How about using uname_str = ruby.` 'uname -a' |
I this this test was introduced to verify that Hmm, I don't like the |
|
It looks like this is a test for executing external commands, so changing it to open a temporary file would make it unclear what the test is actually verifying. |
|
Well, I guess it's okay to turn it into a file-opening test since this DSL config feature is deprecated. |
**Which issue(s) this PR fixes**: Fixes #5148 **What this PR does / why we need it**: Related to #5159 I overlooked the fact that there were also tests using pipe commands in another file. Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
**Which issue(s) this PR fixes**: Fixes fluent#5148 **What this PR does / why we need it**: Related to fluent#5159 I overlooked the fact that there were also tests using pipe commands in another file. Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
**Which issue(s) this PR fixes**: Fixes fluent#5148 **What this PR does / why we need it**: Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` This path will save the command's result in temporary files and use them instead due to avoid the error. **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
**Which issue(s) this PR fixes**: Fixes fluent#5148 **What this PR does / why we need it**: Related to fluent#5159 I overlooked the fact that there were also tests using pipe commands in another file. Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
**Which issue(s) this PR fixes**: Fixes fluent#5148 **What this PR does / why we need it**: Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` This path will save the command's result in temporary files and use them instead due to avoid the error. **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
**Which issue(s) this PR fixes**: Fixes #5148 **What this PR does / why we need it**: Related to #5159 I overlooked the fact that there were also tests using pipe commands in another file. Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
**Which issue(s) this PR fixes**: Fixes #5148 **What this PR does / why we need it**: Related to #5159 I overlooked the fact that there were also tests using pipe commands in another file. Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
**Which issue(s) this PR fixes**: Fixes #5148 **What this PR does / why we need it**: Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` This path will save the command's result in temporary files and use them instead due to avoid the error. **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
**Which issue(s) this PR fixes**: Fixes #5148 **What this PR does / why we need it**: Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` This path will save the command's result in temporary files and use them instead due to avoid the error. **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
Backport #5160 **Which issue(s) this PR fixes**: Fixes #5148 **What this PR does / why we need it**: Related to #5159 I overlooked the fact that there were also tests using pipe commands in another file. Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
Backport #5160 **Which issue(s) this PR fixes**: Fixes #5148 **What this PR does / why we need it**: Related to #5159 I overlooked the fact that there were also tests using pipe commands in another file. Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
…5186) Backport #5159 **Which issue(s) this PR fixes**: Fixes #5148 **What this PR does / why we need it**: Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` This path will save the command's result in temporary files and use them instead due to avoid the error. **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
…5185) Backport #5159 **Which issue(s) this PR fixes**: Fixes #5148 **What this PR does / why we need it**: Since Ruby 4.0, When we give pipe command in `Kernel.open`, it causes an error. ``` $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux] -e:1: warning: Calling Kernel#open with a leading '|' is deprecated and will be removed in Ruby 4.0; use IO.popen instead "Linux UM890 6.17.1-0-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 07 Oct 2025 07:57:35 +0000 x86_64 GNU/Linux\n" $ ruby -w -v -e "Kernel.open('| uname -a'){|out| p out.read }" ruby 4.0.0dev (2025-11-20T00:03:23Z master 167c3dbaa0) +PRISM [x86_64-linux] -e:1:in 'File#initialize': No such file or directory @ rb_sysopen - | uname -a (Errno::ENOENT) from -e:1:in 'Kernel.open' from -e:1:in '<main>' ``` This path will save the command's result in temporary files and use them instead due to avoid the error. **Docs Changes**: N/A **Release Note**: N/A Signed-off-by: Shizuo Fujita <[email protected]>
Which issue(s) this PR fixes:
Fixes #5148
What this PR does / why we need it:
Since Ruby 4.0, When we give pipe command in
Kernel.open, it causes an error.This path will save the command's result in temporary files and use them instead due to avoid the error.
Docs Changes:
N/A
Release Note:
N/A