mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-20 15:00:35 +08:00
checkInputs used to be added to nativeBuildInputs. Now we have nativeCheckInputs to do that instead. Doing this treewide change allows to keep hashes identical to before the introduction of nativeCheckInputs.
143 lines
3.6 KiB
Nix
143 lines
3.6 KiB
Nix
{ lib
|
|
, arangodb
|
|
, buildPythonPackage
|
|
, fetchFromGitHub
|
|
, pythonOlder
|
|
, pytestCheckHook
|
|
, pyjwt
|
|
, pytest
|
|
, mock
|
|
, requests
|
|
, requests-toolbelt
|
|
}:
|
|
|
|
let
|
|
testDBOpts = {
|
|
host = "127.0.0.1";
|
|
port = "8529";
|
|
password = "test";
|
|
secret = "secret";
|
|
};
|
|
in
|
|
|
|
buildPythonPackage rec {
|
|
pname = "python-arango";
|
|
version = "7.5.4";
|
|
format = "setuptools";
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "ArangoDB-Community";
|
|
repo = "python-arango";
|
|
rev = "refs/tags/${version}";
|
|
hash = "sha256-b3UZuH2hpulRSThReBkDwh0MLJmc95HeWInmmMAl4g0=";
|
|
};
|
|
|
|
propagatedBuildInputs = [
|
|
requests
|
|
requests-toolbelt
|
|
pyjwt
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
arangodb
|
|
mock
|
|
pytestCheckHook
|
|
];
|
|
|
|
# arangodb is compiled only for particular target architectures
|
|
# (i.e. "haswell"). Thus, these tests may not pass reproducibly,
|
|
# failing with: `166: Illegal instruction` if not run on arangodb's
|
|
# specified architecture.
|
|
#
|
|
# nonetheless, the client library should remain in nixpkgs - since
|
|
# the client library will talk to arangodb across the network and
|
|
# architecture issues will be irrelevant.
|
|
doCheck = false;
|
|
|
|
preCheck = lib.optionalString doCheck ''
|
|
# Start test DB
|
|
mkdir -p .nix-test/{data,work}
|
|
|
|
ICU_DATA=${arangodb}/share/arangodb3 \
|
|
GLIBCXX_FORCE_NEW=1 \
|
|
TZ=UTC \
|
|
TZ_DATA=${arangodb}/share/arangodb3/tzdata \
|
|
ARANGO_ROOT_PASSWORD=${testDBOpts.password} \
|
|
${arangodb}/bin/arangod \
|
|
--server.uid=$(id -u) \
|
|
--server.gid=$(id -g) \
|
|
--server.authentication=true \
|
|
--server.endpoint=http+tcp://${testDBOpts.host}:${testDBOpts.port} \
|
|
--server.descriptors-minimum=4096 \
|
|
--server.jwt-secret=${testDBOpts.secret} \
|
|
--javascript.app-path=.nix-test/app \
|
|
--log.file=.nix-test/log \
|
|
--database.directory=.nix-test/data \
|
|
--foxx.api=false &
|
|
'';
|
|
|
|
pytestFlagsArray = [
|
|
"--host"
|
|
testDBOpts.host
|
|
"--port"
|
|
testDBOpts.port
|
|
"--passwd"
|
|
testDBOpts.password
|
|
"--secret"
|
|
testDBOpts.secret
|
|
];
|
|
|
|
disabledTests = [
|
|
# AssertionError geo-related - try enabling later
|
|
"test_document_find_in_box"
|
|
|
|
# maybe arangod misconfig - try enabling later
|
|
# arango.exceptions.JWTAuthError: [HTTP 401][ERR 401] Wrong credentials
|
|
"test_auth_jwt"
|
|
|
|
# ValueError - try enabling later
|
|
# maybe missed 3.9.3->3.10.0 changes
|
|
# most caused by key change: isNewlyCreated->new
|
|
"test_add_hash_index"
|
|
"test_add_skiplist_index"
|
|
"test_add_persistent_index"
|
|
"test_add_ttl_index"
|
|
"test_delete_index"
|
|
"test_pregel_management"
|
|
|
|
# formatting error - try enabling later
|
|
# maybe missed 3.9.3->3.10.0 changes
|
|
# caused by: body["computedValues"] = None
|
|
"test_permission_management"
|
|
"test_collection_misc_methods"
|
|
"test_collection_management"
|
|
"test_replication_inventory"
|
|
|
|
# want outgoing network to update foxx apis
|
|
# so foxx.api disabled in arangod startup
|
|
"test_foxx_service_management_file"
|
|
"test_foxx_service_management_json"
|
|
"test_foxx_config_management"
|
|
"test_foxx_dependency_management"
|
|
"test_foxx_development_toggle"
|
|
"test_foxx_misc_functions"
|
|
|
|
# no replication configured via arangod invocation
|
|
"test_replication_applier"
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"arango"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Python Driver for ArangoDB";
|
|
homepage = "https://github.com/ArangoDB-Community/python-arango";
|
|
changelog = "https://github.com/ArangoDB-Community/python-arango/releases/tag/${version}";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ jsoo1 ];
|
|
};
|
|
}
|