diff options
author | Alex Xie <AlexBin.Xie@amd.com> | 2017-01-12 16:14:15 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-01-13 10:35:43 -0500 |
commit | e1ee01a7583508a47ae45b514f77383abd83db72 (patch) | |
tree | ca4607fff4094112196218fe6149336c30efd691 | |
parent | 885624b0b9691562cdc019182985605a84042e5c (diff) |
amdgpu: Provide more specific error message if non-privileged user runs amdgpu_test
Before this change, the error message is:
"WARNING - Suite initialization failed..."
People might think this is a driver problem.
Tested with non-privileged user. Now the error message is like:
...
Error:Permission denied. Hint:Try to run this test program as root.
WARNING - Suite initialization failed for 'Basic Tests'.
...
Tested as root with no regression.
amdgpu_test uses CUnit. CUnit outputs warning message to stdout.
To be consistent, this commit outputs error message to stdout.
v2: Use strerror instead of %m. %m is a GNU C Library extension.
v3: Limit code and commit message within 80 characters per line.
Update commit message.
Remove a space before starting parenthesis in function call.
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Xie <AlexBin.Xie@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | tests/amdgpu/basic_tests.c | 7 | ||||
-rw-r--r-- | tests/amdgpu/bo_tests.c | 8 | ||||
-rw-r--r-- | tests/amdgpu/cs_tests.c | 8 | ||||
-rw-r--r-- | tests/amdgpu/vce_tests.c | 8 |
4 files changed, 27 insertions, 4 deletions
diff --git a/tests/amdgpu/basic_tests.c b/tests/amdgpu/basic_tests.c index 11f6a63d..bfda21b1 100644 --- a/tests/amdgpu/basic_tests.c +++ b/tests/amdgpu/basic_tests.c @@ -206,8 +206,13 @@ int suite_basic_tests_init(void) if (r == 0) return CUE_SUCCESS; - else + else { + if ((r == -EACCES) && (errno == EACCES)) + printf("\n\nError:%s. " + "Hint:Try to run this test program as root.", + strerror(errno)); return CUE_SINIT_FAILED; + } } int suite_basic_tests_clean(void) diff --git a/tests/amdgpu/bo_tests.c b/tests/amdgpu/bo_tests.c index 993895d8..25df7671 100644 --- a/tests/amdgpu/bo_tests.c +++ b/tests/amdgpu/bo_tests.c @@ -65,8 +65,14 @@ int suite_bo_tests_init(void) r = amdgpu_device_initialize(drm_amdgpu[0], &major_version, &minor_version, &device_handle); - if (r) + if (r) { + if ((r == -EACCES) && (errno == EACCES)) + printf("\n\nError:%s. " + "Hint:Try to run this test program as root.", + strerror(errno)); + return CUE_SINIT_FAILED; + } req.alloc_size = BUFFER_SIZE; req.phys_alignment = BUFFER_ALIGN; diff --git a/tests/amdgpu/cs_tests.c b/tests/amdgpu/cs_tests.c index a01ee48a..82c55aa8 100644 --- a/tests/amdgpu/cs_tests.c +++ b/tests/amdgpu/cs_tests.c @@ -76,8 +76,14 @@ int suite_cs_tests_init(void) r = amdgpu_device_initialize(drm_amdgpu[0], &major_version, &minor_version, &device_handle); - if (r) + if (r) { + if ((r == -EACCES) && (errno == EACCES)) + printf("\n\nError:%s. " + "Hint:Try to run this test program as root.", + strerror(errno)); + return CUE_SINIT_FAILED; + } family_id = device_handle->info.family_id; /* VI asic POLARIS10/11 have specific external_rev_id */ diff --git a/tests/amdgpu/vce_tests.c b/tests/amdgpu/vce_tests.c index 49151705..de63aa15 100644 --- a/tests/amdgpu/vce_tests.c +++ b/tests/amdgpu/vce_tests.c @@ -94,8 +94,14 @@ int suite_vce_tests_init(void) r = amdgpu_device_initialize(drm_amdgpu[0], &major_version, &minor_version, &device_handle); - if (r) + if (r) { + if ((r == -EACCES) && (errno == EACCES)) + printf("\n\nError:%s. " + "Hint:Try to run this test program as root.", + strerror(errno)); + return CUE_SINIT_FAILED; + } family_id = device_handle->info.family_id; vce_harvest_config = device_handle->info.vce_harvest_config; |