Commit Graph

20 Commits

Author SHA1 Message Date
Michael Achenbach
325b87ba06 [foozzie] Only apply output-bail-out on differences
With the old logic, a suppression shows up in the statistics independent if the test cases caused a difference or not. This doesn't give a signal if a suppression is useful. The new logic will help cleaning up suppressions that never apply.

BUG=chromium:673246
NOTRY=true
R=tandrii@chromium.org
TBR=mstarzinger@chromium.org,jarin@chromium.org

Change-Id: Iaebdac475f408f7d2649a34ccaa580c8d91e34a5
Reviewed-on: https://chromium-review.googlesource.com/437264
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#42932}
2017-02-03 15:42:38 +00:00
Michael Achenbach
f1f7050173 [foozzie] Don't use utf-8 encoding for console output.
BUG=chromium:673246,chromium:688307
NOTRY=true
R=tandrii@chromium.org
TBR=mstarzinger@chromium.org

Change-Id: I269032497cf574cf5180762e37b0fee1002a6c76
Reviewed-on: https://chromium-review.googlesource.com/437244
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#42931}
2017-02-03 15:32:20 +00:00
machenbach
13de00c0be [foozzie] Support multi-architecture builds
This adds optional multi-architecture builds, allowing to compile
x86 and x64 in one build. The correctness fuzzer can be configured to
compare the two executables, e.g. to compare x86 to x64 run the
launcher with: --second-d8=clang_x86/d8 in an x64 build.

Configuring the executable's architecture is now simplified and
inferred from the gn build configuration.

Building for clusterfuzz has now a new canonical target that can be
used by the infrastructure (defaults to d8).

The clusterfuzz release builder is now defined to compile
multi-arch builds, which will have an effect as soon as the
infrastructure refers to the new clusterfuzz target.

BUG=chromium:673246
NOTRY=true
TBR=mstarzinger,jarin

Review-Url: https://codereview.chromium.org/2649133010
Cr-Commit-Position: refs/heads/master@{#42884}
2017-02-02 11:32:52 +00:00
Michael Achenbach
8b597e291b Reland "[test] Add back lsan leak detection"
Reland of:
https://codereview.chromium.org/2592663004/

BUG=chromium:656900
TBR=yangguo@chromium.org, glider@chromium.org, titzer@chromium.org

Change-Id: I89b5c6b7a4214e25b4fea6d2ee33cd31b47320cc
Reviewed-on: https://chromium-review.googlesource.com/435319
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#42846}
2017-02-01 10:39:28 +00:00
machenbach
24b9fc3a9a [foozzie] Use correct ignition baseline
Also switch on validate asm in all configuration to zero out any
comparisons.

BUG=chromium:673246
NOTRY=true
TBR=mstarzinger@chromium.org, rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/2647493004
Cr-Commit-Position: refs/heads/master@{#42569}
2017-01-20 15:35:07 +00:00
machenbach
dd789d87f9 [foozzie] Stop using asm validator until results are more stable
The results are too noisy ATM. This switches off validate-asm for
default comparisons. We can add back dedicated jobs later that switch
it on.

BUG=chromium:663714
NOTRY=true
TBR=bradnelson@chromium.org,titzer@chromium.org

Review-Url: https://codereview.chromium.org/2640743004
Cr-Commit-Position: refs/heads/master@{#42467}
2017-01-18 15:54:20 +00:00
machenbach
c69a40fc57 [foozzie] Add ignition as baseline comparison
The new ignition config will be used as baseline comparison in new
jobs, e.g. against ignition_turbo. We'll keep --validate-asm off
in ignition_turbo for now as it is very chatty.

BUG=chromium:673246
NOTRY=true

Review-Url: https://codereview.chromium.org/2640043002
Cr-Commit-Position: refs/heads/master@{#42464}
2017-01-18 15:23:53 +00:00
machenbach
310a899773 [foozzie] Refactoring - move source hashing to main script
BUG=chromium:673246
NOTRY=true

Review-Url: https://codereview.chromium.org/2635923002
Cr-Commit-Position: refs/heads/master@{#42386}
2017-01-16 19:53:35 +00:00
machenbach
69465f73f8 [foozzie] Stop using extra metadata files.
Continuation of:
https://codereview.chromium.org/2620343005/

This removes usage of metadata files entirely. Instead we extract
the instrumentation about source files from the test cases.

This also adds extra output of the original source file in the
detailed failure text for easier debugging. The hashes alone
made it hard to reason.

BUG=chromium:673246
NOTRY=true
TBR=tandrii@chromium.org,mbarbella@chromium.org

Review-Url: https://codereview.chromium.org/2634743004
Cr-Commit-Position: refs/heads/master@{#42371}
2017-01-16 13:00:50 +00:00
machenbach
936f79d924 [foozzie] Fix comparison baseline after asm switch
Now that validate asm is on by default, the comparison fullcode with
ignition_staging does nothing in regards to validate_asm.

BUG=chromium:673246
NOTRY=true
TBR=bradnelson@chromium.org, titzer@chromium.org

Review-Url: https://codereview.chromium.org/2634573002
Cr-Commit-Position: refs/heads/master@{#42335}
2017-01-13 15:04:24 +00:00
machenbach
baf5a21751 [foozzie] Fix failure state for non-existing source output
BUG=chromium:673246
NOTRY=true
TBR=tandrii@chromium.org,mbarbella@chromium.org

Review-Url: https://codereview.chromium.org/2632623002
Cr-Commit-Position: refs/heads/master@{#42306}
2017-01-13 08:15:32 +00:00
machenbach
00e98a39e3 [foozzie] Improve failure state deduplication
The fuzz test cases now print the original test paths during execution.
This exploits this extra information and reports a hash of only one
original source file from the section that caused a difference.

The hash size is now limited to 3 to avoid possible duplicate
explosion, in case this doesn't work out as expected.

This prepares for patch 3 of:
https://chromereviews.googleplex.com/550337016/

BUG=chromium:673246
NOTRY=true
TBR=tandrii@chromium.org,mbarbella@chromium.org

Review-Url: https://codereview.chromium.org/2620343005
Cr-Commit-Position: refs/heads/master@{#42305}
2017-01-13 06:31:54 +00:00
machenbach
8024d8f42e [foozzie] Add suppressions based on metadata.
Also suppress a testcase using f.arguments.

BUG=chromium:662424
TBR=jarin@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2625983002
Cr-Commit-Position: refs/heads/master@{#42215}
2017-01-11 10:49:09 +00:00
machenbach
e88e668e81 Revert of [foozzie] Pass startup test (patchset #1 id:1 of https://codereview.chromium.org/2623743004/ )
Reason for revert:
Setting the BAD_BUILDS_CHECK env variable should
be enough. Lets revert this as the code doesn't
look particularly good. There must be another
problem still that needs investigation.

Original issue's description:
> [foozzie] Pass startup test
>
> This makes sure the harness passes when called without test case.
>
> BUG=chromium:673246
> NOTRY=true
> TBR=tandrii@chromium.org,mbarbella@chromium.org
>
> Review-Url: https://codereview.chromium.org/2623743004
> Cr-Commit-Position: refs/heads/master@{#42183}
> Committed: ede2fc1ff0

TBR=tandrii@chromium.org,mbarbella@chromium.org,mmoroz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:673246

Review-Url: https://codereview.chromium.org/2628493003
Cr-Commit-Position: refs/heads/master@{#42189}
2017-01-10 17:18:59 +00:00
machenbach
ede2fc1ff0 [foozzie] Pass startup test
This makes sure the harness passes when called without test case.

BUG=chromium:673246
NOTRY=true
TBR=tandrii@chromium.org,mbarbella@chromium.org

Review-Url: https://codereview.chromium.org/2623743004
Cr-Commit-Position: refs/heads/master@{#42183}
2017-01-10 15:34:58 +00:00
machenbach
6d82e6182b [foozzie] Fix path to metadata
This makes sure the metadata is found during minimization. Also renames
the test files to fit the naming pattern.

BUG=chromium:673246
NOTRY=true
TBR=tandrii@chromium.org,mbarbella@chromium.org

Review-Url: https://codereview.chromium.org/2622653002
Cr-Commit-Position: refs/heads/master@{#42150}
2017-01-09 18:19:40 +00:00
machenbach
905d72befe [foozzie] Fix paths and resources
BUG=chromium:673246
NOTRY=true
TBR=tandrii@chromium.org

Review-Url: https://codereview.chromium.org/2598323002
Cr-Commit-Position: refs/heads/master@{#41954}
2016-12-26 16:55:24 +00:00
machenbach
5173b0fb78 [foozzie] Add sources metadata to failure output.
BUG=chromium:673246
NOTRY=true

Review-Url: https://codereview.chromium.org/2589683003
Cr-Commit-Position: refs/heads/master@{#41844}
2016-12-20 10:09:23 +00:00
machenbach
7e8bd39a49 [foozzie] Add some system tests.
BUG=chromium:673246
NOTRY=true

Review-Url: https://codereview.chromium.org/2585193003
Cr-Commit-Position: refs/heads/master@{#41836}
2016-12-20 09:33:55 +00:00
machenbach
e669816e1f [foozzie] Initial correctness fuzzer harness.
Initial version of the correctness fuzzer harness for manual testing
and experiments.

For automated usage, some outstanding TODOs are left in the code. E.g.
- Hash source file names in error case
- Bundle script in out directory with executables
- Some suppressions are tied to already fixed bugs. We'll keep it like that for now to test
removing those suppressions in production later.

BUG=chromium:673246
NOTRY=true

Review-Url: https://codereview.chromium.org/2578503003
Cr-Commit-Position: refs/heads/master@{#41789}
2016-12-19 10:13:48 +00:00