python3Packages.gdtoolkit: Enable tests
This commit is contained in:
parent
6bb50c8c83
commit
be8ad9be4d
1 changed files with 54 additions and 10 deletions
|
@ -1,4 +1,15 @@
|
||||||
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, lark, docopt, pyyaml, setuptools }:
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pythonOlder
|
||||||
|
, lark
|
||||||
|
, docopt
|
||||||
|
, pyyaml
|
||||||
|
, setuptools
|
||||||
|
, pytestCheckHook
|
||||||
|
, godot-server
|
||||||
|
, hypothesis
|
||||||
|
}:
|
||||||
|
|
||||||
let lark080 = lark.overrideAttrs (old: rec {
|
let lark080 = lark.overrideAttrs (old: rec {
|
||||||
# gdtoolkit needs exactly this lark version
|
# gdtoolkit needs exactly this lark version
|
||||||
|
@ -16,13 +27,6 @@ buildPythonPackage rec {
|
||||||
pname = "gdtoolkit";
|
pname = "gdtoolkit";
|
||||||
version = "3.3.1";
|
version = "3.3.1";
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
lark080
|
|
||||||
docopt
|
|
||||||
pyyaml
|
|
||||||
setuptools
|
|
||||||
];
|
|
||||||
|
|
||||||
# If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?)
|
# If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?)
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Scony";
|
owner = "Scony";
|
||||||
|
@ -33,8 +37,48 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
# Tests cannot be run because they need network to install additional dependencies using pip and tox
|
propagatedBuildInputs = [
|
||||||
doCheck = false;
|
lark080
|
||||||
|
docopt
|
||||||
|
pyyaml
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
hypothesis
|
||||||
|
godot-server
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck =
|
||||||
|
let
|
||||||
|
godotServerMajorVersion = lib.versions.major godot-server.version;
|
||||||
|
gdtoolkitMajorVersion = lib.versions.major version;
|
||||||
|
msg = ''
|
||||||
|
gdtoolkit major version ${gdtoolkitMajorVersion} does not match godot-server major version ${godotServerMajorVersion}!
|
||||||
|
gdtoolkit needs a matching godot-server for its tests.
|
||||||
|
If you see this error, you can either:
|
||||||
|
- disable doCheck for gdtoolkit, or
|
||||||
|
- provide a compatible godot-server version to gdtoolkit"
|
||||||
|
'';
|
||||||
|
in lib.throwIf (godotServerMajorVersion != gdtoolkitMajorVersion) msg ''
|
||||||
|
# The tests want to run the installed executables
|
||||||
|
export PATH=$out/bin:$PATH
|
||||||
|
|
||||||
|
# gdtoolkit tries to write cache variables to $HOME/.cache
|
||||||
|
export HOME=$TMP
|
||||||
|
|
||||||
|
# Work around https://github.com/godotengine/godot/issues/20503
|
||||||
|
# Without this, Godot will complain about a missing project file
|
||||||
|
touch project.godot
|
||||||
|
|
||||||
|
# Remove broken test case
|
||||||
|
# (hard to skip via disabledTests since the test name contains an absolute path)
|
||||||
|
rm tests/potential-godot-bugs/multiline-subscription-expression.gd
|
||||||
|
'';
|
||||||
|
|
||||||
pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ];
|
pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
Loading…
Reference in a new issue