)]}'
{
  "commit": "0130e1e775b9e05b4f183f549bdd1b7e3236f4c5",
  "tree": "78f115e602f669bfc9518ed687b1acabcf3af1c6",
  "parents": [
    "1a254dcfa76f2a45d9d47f78826f5034ca1c7445"
  ],
  "author": {
    "name": "copybara-service[bot]",
    "email": "56741989+copybara-service[bot]@users.noreply.github.com",
    "time": "Mon Apr 10 10:23:17 2023 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Apr 10 10:23:17 2023 -0400"
  },
  "message": "Implement seeded domains by adding `.WithSeeds()` to domains. (#180)\n\nImplement seeded domains by adding `.WithSeeds()` to domains.\r\n\r\nSeeded domains occasionally return one of the seeds as a result of\r\n`.Init()`.\r\n\r\nNOTE: The seeds are accepted as user values and converted to corpus\r\nvalues using\r\n`.FromValue()`. As a consequence, setting the seeds won\u0027t work for\r\ndomains for\r\nwhich `.FromValue()` fails (e.g., `MapOf`, `FlatMap`, and anything\r\nderived from\r\nthem like `Arbitrary\u003cabsl::Duration\u003e`). Moreover, currently\r\n`.FromValue()`\r\ndoesn\u0027t validate the inputs, so it is possible to store a seed that\r\ndoesn\u0027t\r\nmeet the domain\u0027s constraints (e.g., `InRange(0, 10).WithSeeds({42})`\r\nworks).\r\nThis will be fixed separately.\r\n\r\nThe goal of the added unit tets is to almost always succeed when the\r\nfunctionality is implemented and almost always fail when the\r\nfunctionality is\r\nmissing. For most domains this usually means that it is sufficient to\r\ncheck that\r\none or two seeds appear at least once among 1000 generated values, since\r\nit is\r\nunlikely that those seeds would have been generated otherwise. But this\r\nis not\r\nsufficient for domains with few elements. For example, for\r\n`Arbitrary\u003cbool\u003e` we\r\nare surely going to see `true` generated at least once regardless of\r\nwhether it\r\nis a seed or not. For such domains I derived lower bounds for the number\r\nof seed\r\nappearances using the [Hoeffding\u0027s inequality][1] so that the tests are\r\nrobuts.\r\n\r\n[1]: https://en.wikipedia.org/wiki/Binomial_distribution#Tail_bounds\r\n\r\nCo-authored-by: Filip Niksic \u003cfniksic@google.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b7ea683bfddc36512489e923aec47b33454a65b0",
      "old_mode": 33188,
      "old_path": "domain_tests/BUILD",
      "new_id": "bcce512b2c244d5322b7a1d3bfe629e1d4e1105d",
      "new_mode": 33188,
      "new_path": "domain_tests/BUILD"
    },
    {
      "type": "modify",
      "old_id": "ac4b76d7c4ee2ae9c1fc318d61ee244ca5c4a2b1",
      "old_mode": 33188,
      "old_path": "domain_tests/CMakeLists.txt",
      "new_id": "17d3003b1948de2de4fb0a6ca14025d7564c4e16",
      "new_mode": 33188,
      "new_path": "domain_tests/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "ab83bdbf38b5acd1aa3ad37bb369662ac8a1ddb8",
      "old_mode": 33188,
      "old_path": "domain_tests/aggregate_combinators_test.cc",
      "new_id": "609148e257c3af7ecf70c2c68b5ac4c3e5924675",
      "new_mode": 33188,
      "new_path": "domain_tests/aggregate_combinators_test.cc"
    },
    {
      "type": "modify",
      "old_id": "ab2a97bb04d101a70fe1bcee97a98bccda8bb223",
      "old_mode": 33188,
      "old_path": "domain_tests/arbitrary_domains_test.cc",
      "new_id": "db0d649386b9ee97694bae07124ae19c37207a79",
      "new_mode": 33188,
      "new_path": "domain_tests/arbitrary_domains_test.cc"
    },
    {
      "type": "modify",
      "old_id": "664124af733faac602ab070e086aaa3445959647",
      "old_mode": 33188,
      "old_path": "domain_tests/container_combinators_test.cc",
      "new_id": "e599ad70a2bc4e0962c4657e562fb52c76a88926",
      "new_mode": 33188,
      "new_path": "domain_tests/container_combinators_test.cc"
    },
    {
      "type": "modify",
      "old_id": "78760d91d22d6f72290de314b5cd646ad0e5c6b7",
      "old_mode": 33188,
      "old_path": "domain_tests/domain_testing.h",
      "new_id": "798279b439ba6d73394aa035ac4014e5b098bbd5",
      "new_mode": 33188,
      "new_path": "domain_tests/domain_testing.h"
    },
    {
      "type": "modify",
      "old_id": "8e2df23d0d930e7d72a97e19bedc4e2d210b9fce",
      "old_mode": 33188,
      "old_path": "domain_tests/in_regexp_domain_test.cc",
      "new_id": "a139a34a86b7515ac7e2e8afab5b8468295cc91a",
      "new_mode": 33188,
      "new_path": "domain_tests/in_regexp_domain_test.cc"
    },
    {
      "type": "modify",
      "old_id": "71f69bd6b78d8e18f042c2af39b8730f5aca8792",
      "old_mode": 33188,
      "old_path": "domain_tests/map_filter_combinator_test.cc",
      "new_id": "7c07cc0fdcca8e7147daa341fe9bad228ac77000",
      "new_mode": 33188,
      "new_path": "domain_tests/map_filter_combinator_test.cc"
    },
    {
      "type": "modify",
      "old_id": "48756cc60e03f89ea651690b1e5a7253663653ea",
      "old_mode": 33188,
      "old_path": "domain_tests/misc_domains_test.cc",
      "new_id": "4721379dc7a612a3646aac2b8310ba2fa98e5912",
      "new_mode": 33188,
      "new_path": "domain_tests/misc_domains_test.cc"
    },
    {
      "type": "modify",
      "old_id": "db5bc9341f10a133340a28d9d3e80ddc344a7d4c",
      "old_mode": 33188,
      "old_path": "domain_tests/numeric_domains_test.cc",
      "new_id": "4a70819e42fdd0000038972b1878976ef48e5ffd",
      "new_mode": 33188,
      "new_path": "domain_tests/numeric_domains_test.cc"
    },
    {
      "type": "modify",
      "old_id": "fd4d6b8ffa3656eee022d88a2f5fc158bad2596e",
      "old_mode": 33188,
      "old_path": "domain_tests/specific_value_domains_test.cc",
      "new_id": "9d3279545d6542486425f14c252d6d2770de4377",
      "new_mode": 33188,
      "new_path": "domain_tests/specific_value_domains_test.cc"
    },
    {
      "type": "modify",
      "old_id": "191598c00dd8a274750841e0730402fe2c08d407",
      "old_mode": 33188,
      "old_path": "domain_tests/string_domains_test.cc",
      "new_id": "0cd92716c2885d9e8f9a000e539d83a82538c03b",
      "new_mode": 33188,
      "new_path": "domain_tests/string_domains_test.cc"
    },
    {
      "type": "modify",
      "old_id": "674ad394768d9048da867166947e93e3e3d40f83",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/aggregate_of_impl.h",
      "new_id": "f30a75a414ac94bcf150a63dc738b68af4782999",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/aggregate_of_impl.h"
    },
    {
      "type": "modify",
      "old_id": "e10187c608ef3a9cd54b2778914ff13564e4192a",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/arbitrary_impl.h",
      "new_id": "94f4f1e29a9d7ff150a1dd66d88fc57343d5afea",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/arbitrary_impl.h"
    },
    {
      "type": "modify",
      "old_id": "f7ec19903732377da213057c06d8f460bd05fa1f",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/bit_flag_combination_of_impl.h",
      "new_id": "7ad70e29d9265941f5e517d3c287afc28605d86b",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/bit_flag_combination_of_impl.h"
    },
    {
      "type": "modify",
      "old_id": "f09e9656d43b19ef43993e94d1955aee937e4b27",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/container_of_impl.h",
      "new_id": "a80788fd3b92547c568ed94335041376d6e4ef0b",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/container_of_impl.h"
    },
    {
      "type": "modify",
      "old_id": "e8bdb2d9e8f1e19b35a2cb283b44edd5d0154412",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/domain_base.h",
      "new_id": "4730a6400c56c3e376e2af0b67adf7c9b71db101",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/domain_base.h"
    },
    {
      "type": "modify",
      "old_id": "bf538447ec6aed5cdb95c4e57f9246b4760a1785",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/element_of_impl.h",
      "new_id": "d1dbfe4e0576794290a525ec9479de3e7f06622c",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/element_of_impl.h"
    },
    {
      "type": "modify",
      "old_id": "ee13a1a90189b355e67351dd60066a8bde634c42",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/filter_impl.h",
      "new_id": "b38d0cd016819a08f295bd37dee5c42599f498af",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/filter_impl.h"
    },
    {
      "type": "modify",
      "old_id": "0ebdc6c2d3b76f05b9d07ecf7cc65ec5422f6955",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/flat_map_impl.h",
      "new_id": "e697659c3c293715138cc10c68e51a55e69137c2",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/flat_map_impl.h"
    },
    {
      "type": "modify",
      "old_id": "7e1e4a97aced40aeaa22fc0cb3b8aa2ad9f8f680",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/in_grammar_impl.h",
      "new_id": "41bc197f7861cbc6a09f61f4638589df3962c2ed",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/in_grammar_impl.h"
    },
    {
      "type": "modify",
      "old_id": "9757131ebc29a4cca8c994753ca3432cfd9d3902",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/in_range_impl.h",
      "new_id": "8e4b33d355b782d6beeb8ff813ca017853710d16",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/in_range_impl.h"
    },
    {
      "type": "modify",
      "old_id": "2790e79d6bfcf7482734260be65431306fff6199",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/in_regexp_impl.h",
      "new_id": "dcdfc9f1110df53907d1d5fa830f5ffeaeb6c57a",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/in_regexp_impl.h"
    },
    {
      "type": "modify",
      "old_id": "ca2958d7f3ef89af67aa38e35de5797434448daa",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/map_impl.h",
      "new_id": "8579ac43903024fda3127aa43ce4dc8afe307cd5",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/map_impl.h"
    },
    {
      "type": "modify",
      "old_id": "973734ec1c0ffc3be6df9e127ba430549d8aad84",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/one_of_impl.h",
      "new_id": "b568e71240b5fd853c053eb9de03a24b40b38434",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/one_of_impl.h"
    },
    {
      "type": "modify",
      "old_id": "8651f7484cc94ae6bad6015c2ff485a7ab2e69bd",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/optional_of_impl.h",
      "new_id": "f67f7a91eb9fb023863cf2412b8828f62df7bd0d",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/optional_of_impl.h"
    },
    {
      "type": "modify",
      "old_id": "db4028573bff7a5fc18fcf7f29f21d75edb64fec",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/protobuf_domain_impl.h",
      "new_id": "36bf6d2edd0ef85a4af00e1da6a4a722b7ad3ae4",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/protobuf_domain_impl.h"
    },
    {
      "type": "modify",
      "old_id": "61993e362962229627312f78fafee524678dce4e",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/smart_pointer_of_impl.h",
      "new_id": "d7503a36c9a67bdbefe54818902950ddf60e39fe",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/smart_pointer_of_impl.h"
    },
    {
      "type": "modify",
      "old_id": "c4789f7aa50b709b2994ee24b2435210cf95227b",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/unique_elements_container_of_impl.h",
      "new_id": "f44633433943601009a1dc617da678f71c3c5bc0",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/unique_elements_container_of_impl.h"
    },
    {
      "type": "modify",
      "old_id": "c747f68052cd71ca865a7dde52c89b4336bba752",
      "old_mode": 33188,
      "old_path": "fuzztest/internal/domains/variant_of_impl.h",
      "new_id": "ca3499848982a7059ba7b95c910a799caefcf904",
      "new_mode": 33188,
      "new_path": "fuzztest/internal/domains/variant_of_impl.h"
    }
  ]
}
