diff options
Diffstat (limited to 'python')
-rw-r--r-- | python/servo/build_commands.py | 27 | ||||
-rw-r--r-- | python/servo/testing_commands.py | 10 |
2 files changed, 27 insertions, 10 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index 674c06245fb..abe4e1003f9 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -625,16 +625,23 @@ class MachCommands(CommandBase): servo_exe_dir) # Search for the generated nspr4.dll build_path = path.join(servo_exe_dir, "build") - nspr4 = "nspr4.dll" - nspr4_path = None - for root, dirs, files in os.walk(build_path): - if nspr4 in files: - nspr4_path = path.join(root, nspr4) - break - if nspr4_path is None: - print("WARNING: could not find nspr4.dll") - else: - shutil.copy(nspr4_path, servo_exe_dir) + + def package_generated_shared_libraries(libs, build_path, servo_exe_dir): + for root, dirs, files in os.walk(build_path): + remaining_libs = list(libs) + for lib in libs: + if lib in files: + shutil.copy(path.join(root, lib), servo_exe_dir) + remaining_libs.remove(lib) + continue + libs = remaining_libs + if not libs: + return + for lib in libs: + print("WARNING: could not find " + lib) + + package_generated_shared_libraries(["nspr4.dll", "libEGL.dll"], build_path, servo_exe_dir) + # copy needed gstreamer DLLs in to servo.exe dir gst_x64 = "X86_64" if msvc_x64 == "64" else "X86" gst_root = "" diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py index f4b324d4c62..8696f02f8dc 100644 --- a/python/servo/testing_commands.py +++ b/python/servo/testing_commands.py @@ -971,3 +971,13 @@ testing/web-platform/mozilla/tests for Servo-only tests""" % reference_path) run_globals = {"__file__": run_file} execfile(run_file, run_globals) return run_globals["update_conformance"](version, dest_folder, None, patches_dir) + + @Command('smoketest', + description='Load a simple page in Servo and ensure that it closes properly', + category='testing') + @CommandArgument('params', nargs='...', + help="Command-line arguments to be passed through to Servo") + def smoketest(self, params): + params = params + ['tests/html/close-on-load.html'] + return self.context.commands.dispatch( + 'run', self.context, params=params) |