NeoFS binaries should be installed in venv #141

Closed
opened 2025-12-28 18:15:07 +00:00 by sami · 1 comment
Owner

Originally created by @realloc on GitHub (Nov 2, 2022).

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.

Originally created by @realloc on GitHub (Nov 2, 2022). 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.
Author
Owner

@cthulhu-rider commented on GitHub (Jul 3, 2024):

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
@cthulhu-rider commented on GitHub (Jul 3, 2024): 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 ```shell $ 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 ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neofs-testcases#141
No description provided.