summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Xie <AlexBin.Xie@amd.com>2017-01-12 16:14:15 -0500
committerAlex Deucher <alexander.deucher@amd.com>2017-01-13 10:35:43 -0500
commite1ee01a7583508a47ae45b514f77383abd83db72 (patch)
treeca4607fff4094112196218fe6149336c30efd691
parent885624b0b9691562cdc019182985605a84042e5c (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.c7
-rw-r--r--tests/amdgpu/bo_tests.c8
-rw-r--r--tests/amdgpu/cs_tests.c8
-rw-r--r--tests/amdgpu/vce_tests.c8
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;