Commit Graph

32 Commits

Author SHA1 Message Date
Leaf Petersen 745f112ef6 Opt out some files from null safety.
Opt an initial batch of files under samples, samples-dev,
utils, and runtime/tools/dartfuzz out of null safety in preparation
for switching the flag on by default.

Change-Id: Icdfd52a5a969e678a7205903332f73fe3841c223
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166960
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
2020-10-12 22:15:42 +00:00
pq 5619ec500e prefer “exclude” language for excluded entities
See for example:

* https://9to5google.com/2020/06/12/google-android-chrome-blacklist-blocklist-more-inclusive/
* https://thenextweb.com/dd/2020/06/15/github-plans-to-replace-racially-insensitive-terms-like-master-and-whitelist/


Change-Id: I51fe56bb7a09c5cc3280119e2c121aac86e44f8d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151303
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-06-15 18:48:06 +00:00
Ben Konyi aae3d0817f Reland "[ DartFuzz ] Prevent generated programs from explicitly throwing OutOfMemoryError"
This reverts commit f120417ddb.

Change-Id: Idcda5011952b0b3973d1cc2490db153ad741658b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135162
Reviewed-by: Siva Annamalai <asiva@google.com>
2020-02-10 23:57:21 +00:00
Ben Konyi ac2e24b514 [ dartfuzz ] Properly filter Float32x4.fromInt32x4Bits from being emitted in programs generated by DartFuzz
Change-Id: Ibb6caa1fcec540b7e07c2bc95fd202397490b225
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130884
Auto-Submit: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2020-01-09 19:29:56 +00:00
Ben Konyi 55a34f3392 [ dartfuzz ] Temporarily prevent Float32x4.fromInt32x4Bits from being emitted in generated programs.
Seems to be causing us to hit an ASSERT (see
https://github.com/dart-lang/sdk/issues/39890).

Change-Id: I8007a5356d21bf1f2615e6bee47cee01c50eadca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130736
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2020-01-08 22:54:16 +00:00
Fizaa Luthra 4dd9734b96 [dartfuzz] Disable stopwatch
Change-Id: I5fac0d3538ef6428bd9e90260032c69d89bb5679
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129204
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
2019-12-20 01:19:57 +00:00
Fizaa Luthra 141fcfa610 [dartfuzz] Adding fuzzing support for more core types
Change-Id: Id377a58a54cb17cb3e7e337efb9de01d237aa5a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128766
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
2019-12-19 22:21:13 +00:00
Fizaa Luthra aaff5b6951 [dartfuzz] Put gen_api_table.dart constants in alphabetical order
Change-Id: I07506be86e49cd8aaa4fcbe934cb8b706bf677c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129000
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
2019-12-18 22:14:31 +00:00
Fizaa Luthra ea6fe62bb4 [dartfuzz] Refactoring gen_api_table.dart
This CL removes the character encoding for types in the fuzzer.

Change-Id: I00fd76158932d8b5723c3f760e2d6c71beb5e5cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127820
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
2019-12-13 20:39:26 +00:00
Fizaa Luthra bc40858f94 [dartfuzz] Re-enabling Int32x4
Re-enabling as we fixed https://github.com/dart-lang/sdk/issues/39518.

Change-Id: I4fc2fdf4cbb0bd5dfec96616085c58590d0d87f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128000
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
2019-12-12 00:37:10 +00:00
Fizaa Luthra de36aa0f1a [dartfuzz] Temporarily disable Float32x4.reciprocal() and Float32x4.reciprocalSqrt()
Will revert this change after we resolve https://github.com/dart-lang/sdk/issues/39551.

Change-Id: Ic2b9b6a185c2b610f526187bf75d11ee229398f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126608
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-11-29 23:38:26 +00:00
Fizaa Luthra edf08f63ed [dartfuzz] Temporarily disabling Int32x4
Change-Id: I5faf799a5e3567f3f95bf65c279d0ac95363e193
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126400
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
2019-11-26 23:04:10 +00:00
Fizaa Luthra fc47953a1e [dartfuzz] Adding library methods for TypedData types
Change-Id: I9df9a9c0b15adf281def748dc3bd15d62d6fa529
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125725
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-11-22 20:43:17 +00:00
Fizaa Luthra ea6c7f29fa [fuzzer] Added void functions to the API table
Change-Id: I048607903ba15f604a9d0784b75061ac0d0d397c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125305
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-11-15 19:07:54 +00:00
Fizaa Luthra 8eb13e5eda [dartfuzz] Restrict size parameter to a small integer for List<int>.filled
Change-Id: I8ebb3167a4b9d7c81d8fe9d1a45df8fd53933741
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125301
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
2019-11-14 22:54:12 +00:00
Fizaa Luthra e5655d5cfe [dartfuzz] Make generic types explicit when using API table
Bug: https://github.com/dart-lang/sdk/issues/39356
Change-Id: I04244bbac578dd6b399e664d381f1dab0a5852da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124910
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
2019-11-14 01:19:15 +00:00
Konstantin Shcheglov 0804a6f260 Don't use deprecated analyzer elements in dartfuzz.
Change-Id: Ib6a1ddb831854c60604fa57aeac2103443ee8efe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124101
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-04 22:37:45 +00:00
Felicitas Hetzelt 22479a17ff [vm/fuzzer] Sort generated tables.
Change-Id: I5f8cac14ffeb05f12889a42706de02a40b72cd75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119727
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Felicitas Hetzelt <felih@google.com>
2019-10-02 23:27:41 +00:00
Aart Bik 1b911958a5 [vm/fuzzer] split analyzer import from nightly run
Rationale:
Table generation uses the analyzers, but bots don't.
Change-Id: I75cda624244493e7bb81657add9e7401480971ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119528
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Felicitas Hetzelt <felih@google.com>
2019-10-01 17:52:26 +00:00
Felicitas Hetzelt 63b5fa1709 [dart/vm] Extend dartfuzz type system
Rationale:
Enable extraction of dart type information from the  dart analyzer to aid
dart program generation for fuzzing.
Change-Id: Ic8df02460dae49b116069e2f7ca4eb49517bd7a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112161
Commit-Queue: Felicitas Hetzelt <felih@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-10-01 01:02:29 +00:00
Felicitas Hetzelt 5aafee5196 [vm/fuzzer] Fix Analyser
Change-Id: I324a6957aa972fb12d0541a84509f7bd71e6c1f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118201
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Felicitas Hetzelt <felih@google.com>
2019-09-19 22:09:44 +00:00
Ben Konyi 86ad613bf7 [vm/fuzzer] Enable package:pedantic analysis options
Change-Id: I2a1bf49f614a127c00f441f58d2eb687421a0314
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114566
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-08-27 18:37:07 +00:00
Ben Konyi 69c6bea18f [ fuzzer ] Fixed analysis warnings in dartfuzz, enabled analysis as part of bot checks
Also ran dartfmt -w --fix on runtime/tools/dartfuzz.

Change-Id: I2b5154590300889a7da35eb0ed3ee20a8e14c606
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114551
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Felicitas Hetzelt <felih@google.com>
2019-08-26 21:22:12 +00:00
Aart Bik 782e018630 [vm/fuzzer] change file attribute of fuzzing files
Rationale:
+x on python so it can run stand alone
-x on dart files
Change-Id: Iea6ac2f4fbfb1d919f705ac25fcf070446437199
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114121
Reviewed-by: Felicitas Hetzelt <felih@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-08-22 18:12:08 +00:00
Aart Bik bb34cfeb25 [dart/fuzzer] Extend list of forbidden classes/methods
Rationale:
Avoid touching file system or exit codes just to avoid
possible false divergences.

https://github.com/dart-lang/sdk/issues/37632

Change-Id: I603ef19fa2919f0f26839c4f42bfc51a3fb96979
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111360
Reviewed-by: Felicitas Hetzelt <felih@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-07-30 20:49:56 +00:00
Felicitas Hetzelt c9c0f56f48 [dart/vm] Add 'small string' parameter specifier
Rationale: Forces the fuzzer to generate a string literal
as the parameter of selected string functions (i.e. padLeft/Right)
in order to avoid recursion of the form x = "".padLeft/Right(x).

https://github.com/dart-lang/sdk/issues/37573

Change-Id: Icd9f5da07ccdd44e81c88a450c3d2cdd7c8e8f95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109893
Commit-Queue: Felicitas Hetzelt <felih@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-07-23 00:19:48 +00:00
Aart Bik e00b2b577e [dart/fuzzer] restrict length parameter in List fill
Rationale:
Easily causes out of memory. For AOT, can even break
asserts on compilation consants.

https://github.com/dart-lang/sdk/issues/36658

Change-Id: I662c1e50338db636e2b558ac3a2761659d8b2ad4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100635
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-27 00:00:14 +00:00
Aart Bik e6260f67b3 [dart/fuzzer] Remove hashCode from API table
Rationale:
Yields false dependences between 32-bit and 64-bit
implementations.

https://github.com/dart-lang/sdk/issues/36658

Change-Id: I61309628527cf859637643a943a68d8003873792
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100460
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-24 18:48:25 +00:00
Aart Bik 585debbb2e [dart/fuzzer] Exclude process info from API table
Rationale:
Yields false divergences only.

https://github.com/dart-lang/sdk/issues/36560

Change-Id: I48e32e06b453bab0aeba22ee214ec201ebd34229
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99083
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-10 21:05:12 +00:00
Aart Bik dc606ef02f [dart/fuzzer] Exclude 'pid' from API table
Rationale:
Yields false divergences only.

https://github.com/dart-lang/sdk/issues/36560

Change-Id: I68133e2b076e1da1b094d79512a281093b093a91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99080
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-10 19:04:59 +00:00
Aart Bik b76694386a [dart/fuzzer] Exclude Platform from API table
Rationale:
Using Platform strings and other features is
too subject to divergences between the different
execution modes. Nothing useful is tested here.
Change-Id: Icb96b0a6891d1b45b831fb17fa1d9d2cd7b77b6f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98948
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-10 01:07:51 +00:00
Aart Bik f29e100f42 [dart/fuzzer] Generate DartFuzz API tables automatically
Rationale:
Rather than manually constructing the API tables for DartFuzz,
this introduces a utility to generate API tables based on
the analyzer traversal of common libraries. The utility
recognizes DartTypes that are currently understood by DartFuzz
and constructs the tables organized by return type.

TBD:
DartFuzz's type system is rather simple; as this improves,
more and more methods will be accepted by the utility,
thereby increasing fuzzing coverage of our libraries.
Change-Id: Idcc607a4a592dbbf80bd79cdfec429cb397b7f68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98041
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-03-28 16:31:45 +00:00