depot/third_party/nixpkgs/pkgs/development/python-modules/hypothesmith/default.nix
Default email e7ec2969af Project import generated by Copybara.
GitOrigin-RevId: 9b19f5e77dd906cb52dade0b7bd280339d2a1f3d
2024-01-13 09:15:51 +01:00

67 lines
1.4 KiB
Nix

{ lib
, buildPythonPackage
, fetchPypi
, hypothesis
, lark
, libcst
, parso
, pytestCheckHook
, pytest-xdist
, pythonOlder
}:
buildPythonPackage rec {
pname = "hypothesmith";
version = "0.3.1";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-h5kXemST6DLIF0aEKoaGdSs7G7lTDW6DK64XWEENrzo=";
};
patches = [
./remove-black.patch
];
postPatch = ''
substituteInPlace setup.py \
--replace "lark-parser" "lark"
substituteInPlace tox.ini \
--replace "--cov=hypothesmith" "" \
--replace "--cov-branch" "" \
--replace "--cov-report=term-missing:skip-covered" "" \
--replace "--cov-fail-under=100" ""
'';
propagatedBuildInputs = [ hypothesis lark libcst ];
nativeCheckInputs = [ parso pytestCheckHook pytest-xdist ];
pytestFlagsArray = [
"-v"
];
disabledTests = [
# https://github.com/Zac-HD/hypothesmith/issues/21
"test_source_code_from_libcst_node_type"
];
disabledTestPaths = [
# missing blib2to3
"tests/test_syntactic.py"
];
pythonImportsCheck = [ "hypothesmith" ];
meta = with lib; {
description = "Hypothesis strategies for generating Python programs, something like CSmith";
homepage = "https://github.com/Zac-HD/hypothesmith";
changelog = "https://github.com/Zac-HD/hypothesmith/blob/master/CHANGELOG.md";
license = licenses.mpl20;
maintainers = with maintainers; [ ];
};
}