nspcc-dev / neofs-testcases

NeoFS integration testcases
GNU General Public License v3.0
3 stars 18 forks source link

NeoFS binaries should be installed in venv #398

Closed realloc closed 3 months ago

realloc commented 2 years ago

Testcases require some NeoFS and Neo binaries available. It would be nice to install them inside virtualenv instead of using /usr/local/bin, as stated in README.

Maybe we could also pin a particular versions and automate the environment construction as it's done in neofs-dev-env, for example.

cthulhu-rider commented 4 months ago

i'd like to push this issue

currently, test runs use both downloaded neofs-cli and the one from the $PATH. I discovered this in a very unexpected way, and it can be easily reproduced: build neofs-cli which insta crashes (panics) and place it into the $PATH. Some checks go well:

[INFO] Command: ./neofs-cli --config env_files/neofs-env-2024-07-03-19-23-52/ir_cli_config_lfdkwyyfru.yml control healthcheck --endpoint 'localhost:57511' --ir

while almost all tests fail with:

E           RuntimeError: Command: neofs-cli --config ll/testcases/wallet_config.yml netmap snapshot --rpc-endpoint 'localhost:43429' --wallet 'll/testcases/TemporaryDir/eb3f9859-2e3b-4976-9870-13f70f94f6b5.json'
E           Error:
E           return code: 2
E           output: panic: AAAAAAAAAAAAAAAAAAAAA

imo this is absolutely incorrect and unexpected behavior. Single instance of each app must be used. Since binaries are downloaded anyway, i expect tests to operate with them and leave $PATH residents alone

$ which neofs-cli
/usr/local/bin/neofs-cli
$ ls . | grep neo
neofs-adm
neofs-cli
neofs-ir
neofs-lens
neofs-local-allure.tar.gz
neofs-node
neofs-rest-gw
neofs-s3-authmate
neofs-s3-gw
neofs-testlib
neo-go