On 10/3/19 5:23 PM, Laurent Vivier wrote:
Le 03/10/2019 à 09:17, maozy a écrit :
Hi, Laurent
On 10/1/19 11:46 PM, Laurent Vivier wrote:
Le 11/09/2019 à 05:31, Mao Zhongyi a écrit :
if stress function always return 0, the path
'if (stress(ramsizeGB, ncpus) < 0)' is nerver unreachable,
so fix it to allow the test failed.
Cc: arm...@redhat.com
Cc: laur...@vivier.eu
Cc: tony.ngu...@bt.com
Signed-off-by: Mao Zhongyi <maozhon...@cmss.chinamobile.com>
---
tests/migration/stress.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tests/migration/stress.c b/tests/migration/stress.c
index 19a6eff5fd..35903d90c4 100644
--- a/tests/migration/stress.c
+++ b/tests/migration/stress.c
@@ -224,6 +224,7 @@ static int stressone(unsigned long long ramsizeMB)
}
}
}
+ return 0;
}
before the return, we have an infinite loop "while(1) { }".
So this part is dead code.
In fact, if the function exits, it's because it fails, otherwise it
loops infinitely, so I think we should change its type to void and
stress should always return -1.
Yes, I think it's ok to change stressone typo to void because
no one cares about its return value, but if make stress always
return -1, main will always exited in exit_failure, like this:
...
if (stress(ramsizeGB, ncpus) < 0)
exit_failure();
exit_success();
}
so, perhaps also change stress typo to void may be good. then:
...
stress(ramsizeGB, ncpus);
exit_success();
}
Anther way , make stressone return 0 when infinite loop fails to
exit, then main can handle both success and failure case.
what do you think?
If stressone() or stress() exits it's because of a failure because the
test runs forever otherwise.
So I think there is no problem to use exit_failure() as the exit
function of main(): it should never be reached if the test runs without
error.
OK, I see, thanks a lot.
Thanks,
Laurent