зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #14025 - Add --with-debug-assertions flag for Mach (from iamrohit7:debug-assertions); r=Wafflespeanut
I tested out building a release with the flag and added a `debug_assert!(false)` in `fn main` and it panicked. <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #14009 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because they are manually tested <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: dbce416ad436b9a3a007181fbd5d0f158cd7d9e4
This commit is contained in:
Родитель
b307697b98
Коммит
42d578b558
|
@ -55,15 +55,15 @@ linux-dev:
|
|||
- bash ./etc/ci/check_no_panic.sh
|
||||
|
||||
linux-rel-wpt:
|
||||
- ./mach build --release
|
||||
- ./mach build --release --with-debug-assertions
|
||||
- ./mach test-wpt-failure
|
||||
- ./mach test-wpt --release --processes 24 --log-raw test-wpt.log --log-errorsummary wpt-errorsummary.log
|
||||
- ./mach test-wpt --release --binary-arg=--multiprocess --processes 24 --log-raw test-wpt-mp.log --log-errorsummary wpt-mp-errorsummary.log eventsource
|
||||
|
||||
linux-rel-css:
|
||||
- ./mach build --release
|
||||
- ./mach build --release --with-debug-assertions
|
||||
- ./mach test-css --release --processes 16 --log-raw test-css.log --log-errorsummary css-errorsummary.log
|
||||
- ./mach build-cef --release
|
||||
- ./mach build-cef --release --with-debug-assertions
|
||||
- ./mach build-geckolib --release
|
||||
- ./mach test-stylo --release
|
||||
- bash ./etc/ci/lockfile_changed.sh
|
||||
|
|
|
@ -153,8 +153,13 @@ class MachCommands(CommandBase):
|
|||
help='Print verbose output')
|
||||
@CommandArgument('params', nargs='...',
|
||||
help="Command-line arguments to be passed through to Cargo")
|
||||
@CommandArgument('--with-debug-assertions',
|
||||
default=None,
|
||||
action='store_true',
|
||||
help='Enable debug assertions in release')
|
||||
def build(self, target=None, release=False, dev=False, jobs=None,
|
||||
features=None, android=None, verbose=False, debug_mozjs=False, params=None):
|
||||
features=None, android=None, verbose=False, debug_mozjs=False, params=None,
|
||||
with_debug_assertions=False):
|
||||
if android is None:
|
||||
android = self.config["build"]["android"]
|
||||
features = features or self.servo_features()
|
||||
|
@ -217,10 +222,7 @@ class MachCommands(CommandBase):
|
|||
build_start = time()
|
||||
env = self.build_env(target=target, is_build=True)
|
||||
|
||||
# TODO: If this ends up making it, we should probably add a
|
||||
# --release-with-debug-assertions option or similar, so it's easier to
|
||||
# build locally.
|
||||
if env.get("SERVO_ENABLE_DEBUG_ASSERTIONS", None):
|
||||
if with_debug_assertions:
|
||||
env["RUSTFLAGS"] = "-C debug_assertions"
|
||||
|
||||
if android:
|
||||
|
@ -339,7 +341,12 @@ class MachCommands(CommandBase):
|
|||
@CommandArgument('--release', '-r',
|
||||
action='store_true',
|
||||
help='Build in release mode')
|
||||
def build_cef(self, jobs=None, verbose=False, release=False):
|
||||
@CommandArgument('--with-debug-assertions',
|
||||
default=None,
|
||||
action='store_true',
|
||||
help='Enable debug assertions in release')
|
||||
def build_cef(self, jobs=None, verbose=False, release=False,
|
||||
with_debug_assertions=False):
|
||||
self.ensure_bootstrapped()
|
||||
|
||||
ret = None
|
||||
|
@ -358,10 +365,7 @@ class MachCommands(CommandBase):
|
|||
build_start = time()
|
||||
env = self.build_env(is_build=True)
|
||||
|
||||
# TODO: If this ends up making it, we should probably add a
|
||||
# --release-with-debug-assertions option or similar, so it's easier to
|
||||
# build locally.
|
||||
if env.get("SERVO_ENABLE_DEBUG_ASSERTIONS", None):
|
||||
if with_debug_assertions:
|
||||
env["RUSTFLAGS"] = "-C debug_assertions"
|
||||
|
||||
with cd(path.join("ports", "cef")):
|
||||
|
|
Загрузка…
Ссылка в новой задаче