Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 724f7173e04a9d448964e3094b0929d6ae29d551
      
https://github.com/WebKit/WebKit/commit/724f7173e04a9d448964e3094b0929d6ae29d551
  Author: Mark Lam <[email protected]>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M JSTests/stress/ensure-crash.js
    M 
JSTests/stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition-debug.js
    M 
JSTests/stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition.js
    M 
JSTests/stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior.js
    M 
JSTests/stress/incorrect-put-could-generate-invalid-ic-involving-dictionary-flatten-debug.js
    M Source/JavaScriptCore/Scripts/process-entitlements.sh
    M Source/JavaScriptCore/jsc.cpp
    M Source/WTF/wtf/Assertions.cpp
    M Tools/Scripts/run-jsc-stress-tests
    M Tools/Scripts/webkitruby/jsc-stress-test-writer-default.rb

  Log Message:
  -----------
  Make run-jsc-stress-tests handle expected crashes correctly.
https://bugs.webkit.org/show_bug.cgi?id=271954
rdar://124471961

Reviewed by Yusuke Suzuki.

It does not make sense to have a crashOK! test attribute, which imply that the 
test will be
flaky.  A test should be deterministic.  We should either expect a crash or no 
crash.  To enable
this, we'll make the following changes:

1. Change the jsc shell "crash detector" signal handler to exit with exitCode 
137 (to indicate
   a fatal crash).
2. Fix the JSC stress test harness to actually be able to handle crashes 
(terminations with
   exitCode > 130).
3. Rename the "crashOK!" test attribute to "mustCrash!".  It now makes it clear 
that a test is
   expected to crash, instead of flakily crashing sometimes.
4. Add filter conditions to tests that "mustCrash!" so that they are only run 
with
   configurations where they are expected to crash.  Skip the rest.
5. Make WTFCrash() crash with WTFBreakpointTrap() on Darwin ARM64 platforms to 
be consistent
   with all other crashes.

6. Opportunistic quality of life improvement: make jsc shell timeouts crash 
below
   crashDueToJSCShellTimeout() to distinguish it from other crashes.

* JSTests/stress/ensure-crash.js:
* 
JSTests/stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition-debug.js:
* 
JSTests/stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition.js:
* 
JSTests/stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior.js:
* 
JSTests/stress/incorrect-put-could-generate-invalid-ic-involving-dictionary-flatten-debug.js:
* Source/JavaScriptCore/Scripts/process-entitlements.sh:
* Source/JavaScriptCore/jsc.cpp:
(crashDueToJSCShellTimeout):
(timeoutCheckCallback):
(CommandLine::parseArguments):
* Source/WTF/wtf/Assertions.cpp:
* Tools/Scripts/run-jsc-stress-tests:
* Tools/Scripts/webkitruby/jsc-stress-test-writer-default.rb:

Canonical link: https://commits.webkit.org/276881@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to