Lo que la red encontró
Cada línea de abajo es una medición, no una opinión. Todas enlazan a una muestra publicada cuyo contract se ejecuta en un contenedor fijado y sin red, así que puedes volver a ejecutarlo y contradecir el resultado.
El sistema y el runtime proceden del entorno registrado por la muestra; al filtrar se omiten los datos ausentes.
597 hallazgos en 8 ecosistemas.
- cargo
- composer
- gem
- golang
- hex
- npm
- pub
- pypi
Lo que dice la muestra y mide su contrato
301–325 de 568, medidos por muestras publicadas.
-
gemContrato de muestraruby · linux/x64faraday-net_http@3.4.4
Se creeFaraday::Adapter::NetHttp wraps all request timeout failures as Faraday::TimeoutError regardless of whether the connection open or response read phase timed out.
MedidoNet::OpenTimeout raises Faraday::ConnectionFailed rather than Faraday::TimeoutError because NET_HTTP_EXCEPTIONS intercepts open timeouts before Timeout::Error rescue handlers run.
-
gemContrato de muestraruby · linux/x64faraday@2.14.3
Se creeA well-formed Faraday POST using an IO request body is expected to close that IO for the caller automatically.
MedidoFaraday returns normally from a POST with an IO request body while leaving the caller's stream open.
-
gemContrato de muestraruby · linux/x64faraday@2.14.3
Se creeDuplicating an existing Faraday connection with dup creates an unlocked connection that executes subsequently added middleware on its requests.
MedidoAdding middleware to a duplicated Faraday connection after the original connection has executed a request silently ignores the new middleware during request execution because dup preserves the parent connection's pre-compiled rack app instance.
-
gemContrato de muestraruby · linux/x64faraday@2.14.3
Se creeDeclaring response :json before response :raise_error in a Faraday connection ensures 4xx and 5xx error response bodies are deserialized into Ruby Hashes on rescued client and server exceptions.
MedidoRescuing a client error from a Faraday connection with response :json declared before response :raise_error leaves error.response[:body] as an unparsed JSON String rather than a deserialized Hash because response middleware unwinds in reverse order.
-
gemContrato de muestraruby · linux/x64faraday@2.14.3
Se creeIf request middleware includes :json, Faraday always JSON-serializes Hash bodies, even when a different Content-Type header is supplied.
Medidoassert that with request :json and no Content-Type override, a POST with {name: "sam"} serializes env.body to a JSON string
-
gemContrato de muestraruby · linux/x64faraday@2.14.3
Se creeLeaving the proxy option unset in Faraday defaults to a direct connection with nil proxy options, and passing proxy false disables environment proxy discovery.
Medidoassert leaving proxy unset automatically resolves to Faraday::ProxyOptions from the environment rather than nil
-
gemContrato de muestraruby · linux/x64faraday@2.14.3
Se creeCalling `in_parallel` on a standard Faraday connection always defers request execution and returns deferred/future responses.
MedidoFaraday::Connection#in_parallel with a non-parallel adapter returns normal `Faraday::Response` objects and executes requests immediately, not as queued futures.
-
gemContrato de muestraruby · linux/x64csv@3.2.2
Se creeskip_blanks:true causes any row that contains no non‑separator characters to be omitted, even when the row consists solely of delimiters
Medidoraise 'expected delimiter-only row to remain as nil fields' unless rows[1] == [nil, nil, nil]
-
composerContrato de muestraphp · linux/x64symfony/console@7.0.3
Se creePassing the string '0' as an InputOption shortcut parameter correctly assigns it as a valid flag alias like -0.
Medidonew InputOption('foo', '0')->getShortcut() evaluates to the string '0', proving that zero-string shortcuts are preserved rather than incorrectly dropping them as empty values.
-
composerContrato de muestraphp · linux/x64guzzlehttp/guzzle@8.0.2
Se creeA developer expects Guzzle to normalize request methods to uppercase before dispatch, so 'gEt' will become 'GET'.
Medidoassert GuzzleHttp\Client::request sends the exact method token 'gEt' without uppercasing it to 'GET'
-
composerContrato de muestraphp · linux/x64guzzlehttp/guzzle@7.9.0
Se creeA null value for one per-request header removes that inherited header exactly like setting the entire headers option to null.
MedidoPassing headers with a null value sends the request and overrides that inherited header with an empty value while preserving other defaults.
-
pypiContrato de muestrapython · linux/x64tenacity@9.1.4
Se creeExhausted retries always raise RetryError, including result predicates with a fallback callback and exception retries configured with reraise=True.
MedidoA result predicate that still requests retry after the third attempt raises RetryError whose last_attempt is a successful Future containing the rejected None result.
-
pypiContrato de muestrapython 3.12 · linux alpine/x64protobuf@7.35.1
Se creeA plain proto3 scalar set to its default has presence like an optional field, and protobuf JSON emits int64 values as JSON numbers while omitting explicitly present optional defaults.
MedidoDescriptorPool.Add registers an in-memory FileDescriptorProto but returns either None or the registered FileDescriptor depending on the backend; FindFileByName and FindMessageTypeByName provide stable descriptors, and repeated GetMessageClass calls return the same cached Message subclass.
-
pypiContrato de muestrapython 3.12 · linux/x64pandas@3.0.5
Se creeAn inner pandas DataFrame.merge treats missing join keys like SQL NULL, so missing keys never match one another.
MedidoWith two missing Int64 keys on each side, an inner DataFrame.merge returns four missing-key rows containing every left/right pair.
-
pypiContrato de muestrapython · linux/x64pillow@12.3.0
Se creeImageOps.exif_transpose always returns the transformed image and accepts in_place as a positional argument.
MedidoThe default ImageOps.exif_transpose call returns a distinct transformed copy, removes EXIF Orientation from the copy, and leaves the source image unchanged.
-
pypiContrato de muestrapython 3.12 · linux/x64django@6.1
Se creeA signed cookie remains valid when copied to any cookie name whose name-plus-salt text matches the original pair, and enabling legacy compatibility is a silent permanent fix.
MedidoRequestFactory and Client execute without a server or database, keep POST form data separate from repeated query_params, let per-call query_params replace constructor defaults, and negotiate the Accept header.
-
pypiContrato de muestrapython 3.12 · linux/x64numpy@2.5.2
Se creecasting='same_kind' prevents integer overflow during narrowing, while astype(copy=False) refuses any conversion that must allocate a new array.
Medidoastype(casting='same_kind') accepts int64-to-int8 narrowing and wraps out-of-range values instead of checking them.
-
pypiContrato de muestrapython · linux/x64importlib-metadata@9.0.0
Se creeCallers often treat entry_points() and files() as plain lists of strings or paths and miss the selection, name lookup, distribution, hash, and location semantics carried by their specialized result objects.
MedidoThe third-party importlib_metadata package resolves its installed 9.0.0 distribution under normalized hyphen and underscore names.
-
pypiContrato de muestrapython · linux/x64cffi@2.0.0
Se creeDevelopers typically expect invalid RSA serialization argument combinations to raise ValueError.
MedidoA valid PEM serialization can be deserialized and preserves the RSA private numbers after those invalid encodings are rejected.
-
pypiContrato de muestrapython · linux/x64cryptography@47.0.0
Se creeCRYPTOGRAPHY_OPENSSL_NO_LEGACY is a build-time compilation flag rather than a runtime environment variable evaluated when OpenSSL bindings initialize.
MedidoSetting CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 before cryptography OpenSSL binding initialization prevents loading the OpenSSL legacy provider, causing Blowfish cipher encryptor creation to raise UnsupportedAlgorithm
-
pypiContrato de muestrapython · linux/x64cryptography@47.0.0
Se creePassing a non-None password parameter when deserializing an unencrypted SSH private key is silently ignored by load_ssh_private_key.
Medidoload_ssh_private_key raises TypeError when a password byte string is passed for an unencrypted SSH private key rather than silently ignoring the unneeded password.
-
pypiContrato de muestrapython · linux/x64cryptography@47.0.0
Se creeAESGCM.generate_key takes key length in bytes and AESGCM.encrypt returns ciphertext separately from the 16-byte authentication tag.
MedidoAESGCM.encrypt appends the 16-byte authentication tag to ciphertext producing len(plaintext) + 16 bytes, and AESGCM.generate_key rejects byte lengths with ValueError
-
pubContrato de muestradart · linux/x64equatable@2.0.0
Se creeAn Equatable object's toString method only outputs its properties if stringify is locally overridden to true or if EquatableConfig.stringify is explicitly enabled.
MedidoBy default in debug mode (assertions enabled), printing an Equatable instance that does not override stringify prints its property values because EquatableConfig.stringify defaults to true.
-
pubContrato de muestradart · linux/x64equatable@2.1.0
Se creeEqual-length maps might appear equal when a missing key lookup and an explicit value both return null, even though their key sets differ.
MedidoTwo Equatable instances compare equal when their map-valued props contain the same key-value entries.
-
pubContrato de muestradart · linux/x64equatable@2.0.8
Se creeAn Equatable instance containing a Map property evaluates equality by comparing both keys and values, returning false if keys differ.
Medidoequatable 2.0.8 evaluates maps of equal length with differing keys mapping to null values as unequal, avoiding the false positive equality in 2.0.7.
Cómo comprobar cualquier línea de aquí
Abre la muestra, lee su contract y ejecútalo. El contract es la propia prueba de la muestra: se ejecuta sin red en un contenedor fijado, y el recibo firmado de esa ejecución es lo que la red guarda. Nada de esto depende de cómo leamos una biblioteca, solo de lo que la biblioteca hizo.
Algunas muestras publicadas no están en esta página. Su contrato pasó y la muestra está activa, pero ninguna línea de ese contrato se lee como una frase. Una aserción como expect(x).toBe(1), puesta junto a la creencia que comprueba, no le dice nada a quien lee. Preferimos dejarlas fuera antes que publicar pruebas que nadie puede leer.