tools/testing/ktest/ktest.pl | 8 ++++++++ 1 file changed, 8 insertions(+)
Handle missing parent directories for LOG_FILE path to prevent test
failures. If the parent directories don't exist, create them to ensure
the tests proceed successfully.
Signed-off-by: Ayush Jain <Ayush.jain3@amd.com>
---
v1..v2:
https://lore.kernel.org/all/20250128051427.405808-1-Ayush.jain3@amd.com/
- Update logic to check for LOG_FILE existence (steven)
---
tools/testing/ktest/ktest.pl | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 8c8da966c641..13b97e6b8459 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -4303,6 +4303,14 @@ if (defined($opt{"LOG_FILE"})) {
if ($opt{"CLEAR_LOG"}) {
unlink $opt{"LOG_FILE"};
}
+
+ if (! -e $opt{"LOG_FILE"} && $opt{"LOG_FILE"} =~ m,^(.*/),) {
+ my $dir = $1;
+ if (! -d $dir) {
+ mkpath($dir) or die "Failed to create directories '$dir': $!";
+ print "\nThe log directory $dir did not exist, so it was created.\n";
+ }
+ }
open(LOG, ">> $opt{LOG_FILE}") or die "Can't write to $opt{LOG_FILE}";
LOG->autoflush(1);
}
--
2.34.1
On Wed, 5 Mar 2025 04:19:13 +0000
Ayush Jain <Ayush.jain3@amd.com> wrote:
> diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
> index 8c8da966c641..13b97e6b8459 100755
> --- a/tools/testing/ktest/ktest.pl
> +++ b/tools/testing/ktest/ktest.pl
> @@ -4303,6 +4303,14 @@ if (defined($opt{"LOG_FILE"})) {
> if ($opt{"CLEAR_LOG"}) {
> unlink $opt{"LOG_FILE"};
> }
> +
> + if (! -e $opt{"LOG_FILE"} && $opt{"LOG_FILE"} =~ m,^(.*/),) {
> + my $dir = $1;
> + if (! -d $dir) {
> + mkpath($dir) or die "Failed to create directories '$dir': $!";
> + print "\nThe log directory $dir did not exist, so it was created.\n";
> + }
> + }
Hmm, somehow the indentation is messed up here. Should be:
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 8c8da966c641..13b97e6b8459 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -4303,6 +4303,14 @@ if (defined($opt{"LOG_FILE"})) {
if ($opt{"CLEAR_LOG"}) {
unlink $opt{"LOG_FILE"};
}
+
+ if (! -e $opt{"LOG_FILE"} && $opt{"LOG_FILE"} =~ m,^(.*/),) {
+ my $dir = $1;
+ if (! -d $dir) {
+ mkpath($dir) or die "Failed to create directories '$dir': $!";
+ print "\nThe log directory $dir did not exist, so it was created.\n";
+ }
+ }
-- Steve
Hello steven,
On 3/6/2025 5:31 AM, Steven Rostedt wrote:
> On Wed, 5 Mar 2025 04:19:13 +0000
> Ayush Jain <Ayush.jain3@amd.com> wrote:
>
>> diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
>> index 8c8da966c641..13b97e6b8459 100755
>> --- a/tools/testing/ktest/ktest.pl
>> +++ b/tools/testing/ktest/ktest.pl
>> @@ -4303,6 +4303,14 @@ if (defined($opt{"LOG_FILE"})) {
>> if ($opt{"CLEAR_LOG"}) {
>> unlink $opt{"LOG_FILE"};
>> }
>> +
>> + if (! -e $opt{"LOG_FILE"} && $opt{"LOG_FILE"} =~ m,^(.*/),) {
>> + my $dir = $1;
>> + if (! -d $dir) {
>> + mkpath($dir) or die "Failed to create directories '$dir': $!";
>> + print "\nThe log directory $dir did not exist, so it was created.\n";
>> + }
>> + }
> Hmm, somehow the indentation is messed up here. Should be:
Sure, will update it in next version
> diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
> index 8c8da966c641..13b97e6b8459 100755
> --- a/tools/testing/ktest/ktest.pl
> +++ b/tools/testing/ktest/ktest.pl
> @@ -4303,6 +4303,14 @@ if (defined($opt{"LOG_FILE"})) {
> if ($opt{"CLEAR_LOG"}) {
> unlink $opt{"LOG_FILE"};
> }
> +
> + if (! -e $opt{"LOG_FILE"} && $opt{"LOG_FILE"} =~ m,^(.*/),) {
> + my $dir = $1;
> + if (! -d $dir) {
> + mkpath($dir) or die "Failed to create directories '$dir': $!";
> + print "\nThe log directory $dir did not exist, so it was created.\n";
> + }
> + }
>
> -- Steve
Regards,
Ayush Jain
Hello steven,
On 3/6/2025 8:29 AM, Jain, Ayush wrote:
> Hello steven,
>
> On 3/6/2025 5:31 AM, Steven Rostedt wrote:
>> On Wed, 5 Mar 2025 04:19:13 +0000
>> Ayush Jain <Ayush.jain3@amd.com> wrote:
>>
>>> diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
>>> index 8c8da966c641..13b97e6b8459 100755
>>> --- a/tools/testing/ktest/ktest.pl
>>> +++ b/tools/testing/ktest/ktest.pl
>>> @@ -4303,6 +4303,14 @@ if (defined($opt{"LOG_FILE"})) {
>>> if ($opt{"CLEAR_LOG"}) {
>>> unlink $opt{"LOG_FILE"};
>>> }
>>> +
>>> + if (! -e $opt{"LOG_FILE"} && $opt{"LOG_FILE"} =~ m,^(.*/),) {
>>> + my $dir = $1;
>>> + if (! -d $dir) {
>>> + mkpath($dir) or die "Failed to create directories '$dir': $!";
>>> + print "\nThe log directory $dir did not exist, so it was created.\n";
>>> + }
>>> + }
>> Hmm, somehow the indentation is messed up here. Should be:
> Sure, will update it in next version
Just to be clear on my end, you mean 4 space wide tab for indentation here.
- Ayush
>> diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
>> index 8c8da966c641..13b97e6b8459 100755
>> --- a/tools/testing/ktest/ktest.pl
>> +++ b/tools/testing/ktest/ktest.pl
>> @@ -4303,6 +4303,14 @@ if (defined($opt{"LOG_FILE"})) {
>> if ($opt{"CLEAR_LOG"}) {
>> unlink $opt{"LOG_FILE"};
>> }
>> +
>> + if (! -e $opt{"LOG_FILE"} && $opt{"LOG_FILE"} =~ m,^(.*/),) {
>> + my $dir = $1;
>> + if (! -d $dir) {
>> + mkpath($dir) or die "Failed to create directories '$dir': $!";
>> + print "\nThe log directory $dir did not exist, so it was created.\n";
>> + }
>> + }
>>
>> -- Steve
> Regards,
>
> Ayush Jain
>
On Thu, 6 Mar 2025 10:19:04 +0530 "Jain, Ayush" <ayushjai@amd.com> wrote: > Just to be clear on my end, you mean 4 space wide tab for indentation here. Correct. That's what the rest of the file has. ....[indent 1] \t[indent 2] \t....[indent 3] Where . is a space and \t is a tab. So for every 8 spaces, use a tab, and then add 4 spaces at the end of those not divisible by 8. -- Steve
On 3/6/2025 8:42 PM, Steven Rostedt wrote: > On Thu, 6 Mar 2025 10:19:04 +0530 > "Jain, Ayush" <ayushjai@amd.com> wrote: > >> Just to be clear on my end, you mean 4 space wide tab for indentation here. > Correct. That's what the rest of the file has. > > > ....[indent 1] > \t[indent 2] > \t....[indent 3] > > Where . is a space and \t is a tab. > > So for every 8 spaces, use a tab, and then add 4 spaces at the end of those > not divisible by 8. > > -- Steve Ok, thank you for explaining, will update in next the version. Thanks, Ayush
© 2016 - 2026 Red Hat, Inc.