Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/meson.build: only generate testlists on native builds
@ 2023-09-01  7:42 Mauro Carvalho Chehab
  2023-09-01 10:08 ` Kamil Konieczny
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Mauro Carvalho Chehab @ 2023-09-01  7:42 UTC (permalink / raw)
  To: igt-dev; +Cc: Ilja Friedel

From: Mauro Carvalho Chehab <mchehab@kernel.org>

cross-compiling will produce binaries that don't run at the
build machine. On such cases, we cannot produce testlist files.

Detect it, to avoid IGT builds to fail on cross builds.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 tests/meson.build | 72 +++++++++++++++++++++++++++--------------------
 1 file changed, 42 insertions(+), 30 deletions(-)

diff --git a/tests/meson.build b/tests/meson.build
index aa27fd9aff7c..aa8e3434ce0e 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -382,11 +382,13 @@ foreach prog : test_progs
 	test_executables += testexe
 	test_list += prog
 	name = prog.split('/').get(-1)
-	testlist_files += custom_target(name + '.testlist',
-		     build_by_default : true,
-		     command : [testexe, '--show-testlist'],
-		     capture : true,
-		     output : name + '.testlist')
+	if not meson.is_cross_build()
+		testlist_files += custom_target(name + '.testlist',
+			    build_by_default : true,
+			    command : [testexe, '--show-testlist'],
+			    capture : true,
+			    output : name + '.testlist')
+	endif
 endforeach
 
 intel_progs = intel_i915_xe_progs
@@ -406,11 +408,13 @@ foreach prog : intel_progs
 	test_executables += testexe
 	test_list += prog
 	name = prog.split('/').get(-1)
-	testlist_files += custom_target(name + '.testlist',
-		     build_by_default : true,
-		     command : [testexe, '--show-testlist'],
-		     capture : true,
-		     output : name + '.testlist')
+	if not meson.is_cross_build()
+		testlist_files += custom_target(name + '.testlist',
+			    build_by_default : true,
+			    command : [testexe, '--show-testlist'],
+			    capture : true,
+			    output : name + '.testlist')
+	endif
 endforeach
 
 foreach prog : msm_progs
@@ -433,11 +437,13 @@ if chamelium.found()
 		test_list += prog
 		test_executables += testexe
 		name = prog.split('/').get(-1)
-		testlist_files += custom_target(name + '.testlist',
-			     build_by_default : true,
-			     command : [testexe, '--show-testlist'],
-			     capture : true,
-			     output : name + '.testlist')
+		if not meson.is_cross_build()
+			testlist_files += custom_target(name + '.testlist',
+				    build_by_default : true,
+				    command : [testexe, '--show-testlist'],
+				    capture : true,
+				    output : name + '.testlist')
+		endif
 	endforeach
 	test_deps += chamelium
 endif
@@ -451,11 +457,13 @@ subdir('vc4')
 subdir('vmwgfx')
 
 gen_testlist = find_program('generate_testlist.sh')
-test_list_target = custom_target('testlist',
-	      output : 'test-list.txt',
-	      command : [ gen_testlist, '@OUTPUT@', test_list ],
-	      install : true,
-	      install_dir : libexecdir)
+if not meson.is_cross_build()
+	test_list_target = custom_target('testlist',
+		    output : 'test-list.txt',
+		    command : [ gen_testlist, '@OUTPUT@', test_list ],
+		    install : true,
+		    install_dir : libexecdir)
+endif
 
 test_executables += executable('gem_concurrent_all', 'intel/gem_concurrent_all.c',
 	   dependencies : test_deps + [ libatomic ],
@@ -464,11 +472,13 @@ test_executables += executable('gem_concurrent_all', 'intel/gem_concurrent_all.c
 	   install : true)
 test_list += 'gem_concurrent_all'
 
-test_list_full_target = custom_target('testlist-full',
-	      output : 'test-list-full.txt',
-	      command : [ gen_testlist, '@OUTPUT@', test_list ],
-	      install : true,
-	      install_dir : libexecdir)
+if not meson.is_cross_build()
+	test_list_full_target = custom_target('testlist-full',
+		    output : 'test-list-full.txt',
+		    command : [ gen_testlist, '@OUTPUT@', test_list ],
+		    install : true,
+		    install_dir : libexecdir)
+endif
 
 test_script = find_program('igt_command_line.sh')
 foreach prog : test_list
@@ -480,11 +490,13 @@ testexe = executable('gem_stress', 'intel/gem_stress.c',
 	   install_dir : libexecdir,
 	   install_rpath : libexecdir_rpathdir,
 	   dependencies : igt_deps)
-testlist_files += custom_target('gem_stress.testlist',
-                build_by_default : true,
-                command : [testexe, '--show-testlist'],
-                capture : true,
-                output : 'gem_stress.testlist')
+if not meson.is_cross_build()
+	testlist_files += custom_target('gem_stress.testlist',
+			build_by_default : true,
+			command : [testexe, '--show-testlist'],
+			capture : true,
+			output : 'gem_stress.testlist')
+endif
 
 image_files = [
   '1080p-left.png',
-- 
2.41.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [igt-dev] [PATCH i-g-t] tests/meson.build: only generate testlists on native builds
@ 2023-08-31  9:29 Mauro Carvalho Chehab
  0 siblings, 0 replies; 7+ messages in thread
From: Mauro Carvalho Chehab @ 2023-08-31  9:29 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

cross-compiling will produce binaries that don't run at the
build machine. On such cases, we cannot produce testlist files.

Detect it, to avoid IGT builds to fail on cross builds.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---

Tested only on native builds, as I don't have a cross-compiling
environment handy for IGT.

 tests/meson.build | 96 +++++++++++++++++++++++++++--------------------
 1 file changed, 56 insertions(+), 40 deletions(-)

diff --git a/tests/meson.build b/tests/meson.build
index c683e468da78..adb178d0bd39 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -370,11 +370,13 @@ foreach prog : test_progs
 	test_executables += testexe
 	test_list += prog
 	name = prog.split('/').get(-1)
-	testlist_files += custom_target(name + '.testlist',
-		     build_by_default : true,
-		     command : [testexe, '--show-testlist'],
-		     capture : true,
-		     output : name + '.testlist')
+	if not meson.is_cross_build()
+		testlist_files += custom_target(name + '.testlist',
+			    build_by_default : true,
+			    command : [testexe, '--show-testlist'],
+			    capture : true,
+			    output : name + '.testlist')
+	endif
 endforeach
 
 foreach prog : i915_progs
@@ -387,11 +389,13 @@ foreach prog : i915_progs
 	test_executables += testexe
 	test_list += prog
 	name = prog.split('/').get(-1)
-	testlist_files += custom_target(name + '.testlist',
-		     build_by_default : true,
-		     command : [testexe, '--show-testlist'],
-		     capture : true,
-		     output : name + '.testlist')
+	if not meson.is_cross_build()
+		testlist_files += custom_target(name + '.testlist',
+			    build_by_default : true,
+			    command : [testexe, '--show-testlist'],
+			    capture : true,
+			    output : name + '.testlist')
+	endif
 endforeach
 
 if build_xe
@@ -405,11 +409,13 @@ if build_xe
 		test_list += prog
 		test_executables += testexe
 		name = prog.split('/').get(-1)
-		testlist_files += custom_target(name + '.testlist',
-			     build_by_default : true,
-			     command : [testexe, '--show-testlist'],
-			     capture : true,
-			     output : name + '.testlist')
+		if not meson.is_cross_build()
+			testlist_files += custom_target(name + '.testlist',
+				    build_by_default : true,
+				    command : [testexe, '--show-testlist'],
+				    capture : true,
+				    output : name + '.testlist')
+		endif
 	endforeach
 	build_info += 'Xe **experimental** tests enabled.'
 endif
@@ -435,11 +441,13 @@ if chamelium.found()
 		test_list += prog
 		test_executables += testexe
 		name = prog.split('/').get(-1)
-		testlist_files += custom_target(name + '.testlist',
-			     build_by_default : true,
-			     command : [testexe, '--show-testlist'],
-			     capture : true,
-			     output : name + '.testlist')
+		if not meson.is_cross_build()
+			testlist_files += custom_target(name + '.testlist',
+				    build_by_default : true,
+				    command : [testexe, '--show-testlist'],
+				    capture : true,
+				    output : name + '.testlist')
+		endif
 	endforeach
 	test_deps += chamelium
 
@@ -452,11 +460,13 @@ if chamelium.found()
 				install : true)
 	test_list += name
 	test_executables += testexe
-	testlist_files += custom_target(name + '.testlist',
-		     build_by_default : true,
-		     command : [testexe, '--show-testlist'],
-		     capture : true,
-		     output : name + '.testlist')
+	if not meson.is_cross_build()
+		testlist_files += custom_target(name + '.testlist',
+			    build_by_default : true,
+			    command : [testexe, '--show-testlist'],
+			    capture : true,
+			    output : name + '.testlist')
+	endif
 endif
 
 subdir('amdgpu')
@@ -468,11 +478,13 @@ subdir('vc4')
 subdir('vmwgfx')
 
 gen_testlist = find_program('generate_testlist.sh')
-test_list_target = custom_target('testlist',
-	      output : 'test-list.txt',
-	      command : [ gen_testlist, '@OUTPUT@', test_list ],
-	      install : true,
-	      install_dir : libexecdir)
+if not meson.is_cross_build()
+	test_list_target = custom_target('testlist',
+		    output : 'test-list.txt',
+		    command : [ gen_testlist, '@OUTPUT@', test_list ],
+		    install : true,
+		    install_dir : libexecdir)
+endif
 
 test_executables += executable('gem_concurrent_all', 'i915/gem_concurrent_all.c',
 	   dependencies : test_deps + [ libatomic ],
@@ -481,11 +493,13 @@ test_executables += executable('gem_concurrent_all', 'i915/gem_concurrent_all.c'
 	   install : true)
 test_list += 'gem_concurrent_all'
 
-test_list_full_target = custom_target('testlist-full',
-	      output : 'test-list-full.txt',
-	      command : [ gen_testlist, '@OUTPUT@', test_list ],
-	      install : true,
-	      install_dir : libexecdir)
+if not meson.is_cross_build()
+	test_list_full_target = custom_target('testlist-full',
+		    output : 'test-list-full.txt',
+		    command : [ gen_testlist, '@OUTPUT@', test_list ],
+		    install : true,
+		    install_dir : libexecdir)
+endif
 
 test_script = find_program('igt_command_line.sh')
 foreach prog : test_list
@@ -497,11 +511,13 @@ testexe = executable('gem_stress', 'i915/gem_stress.c',
 	   install_dir : libexecdir,
 	   install_rpath : libexecdir_rpathdir,
 	   dependencies : igt_deps)
-testlist_files += custom_target('gem_stress.testlist',
-                build_by_default : true,
-                command : [testexe, '--show-testlist'],
-                capture : true,
-                output : 'gem_stress.testlist')
+if not meson.is_cross_build()
+	testlist_files += custom_target('gem_stress.testlist',
+			build_by_default : true,
+			command : [testexe, '--show-testlist'],
+			capture : true,
+			output : 'gem_stress.testlist')
+endif
 
 image_files = [
   '1080p-left.png',
-- 
2.41.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-09-01 20:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-01  7:42 [igt-dev] [PATCH i-g-t] tests/meson.build: only generate testlists on native builds Mauro Carvalho Chehab
2023-09-01 10:08 ` Kamil Konieczny
2023-09-01 10:58 ` [igt-dev] ✗ GitLab.Pipeline: warning for tests/meson.build: only generate testlists on native builds (rev3) Patchwork
2023-09-01 11:22 ` [igt-dev] ✓ CI.xeBAT: success " Patchwork
2023-09-01 11:23 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork
2023-09-01 20:22 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2023-08-31  9:29 [igt-dev] [PATCH i-g-t] tests/meson.build: only generate testlists on native builds Mauro Carvalho Chehab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox