Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AIO tests fail #644

Open
cthulhu-rider opened this issue Dec 4, 2024 · 1 comment
Open

AIO tests fail #644

cthulhu-rider opened this issue Dec 4, 2024 · 1 comment
Labels
bug Something isn't working test Unit tests

Comments

@cthulhu-rider
Copy link
Contributor

cthulhu-rider commented Dec 4, 2024

https://github.com/nspcc-dev/neofs-sdk-go/actions/runs/12164759933/job/33927188082?pr=643

            --- FAIL: TestPoolAio/nspccdev/neofs-aio:latest/PoolInterfaceWithAIO/download_object (0.00s)
                pool_aio_test.go:344: 
                    	Error Trace:	/home/runner/work/neofs-sdk-go/neofs-sdk-go/pool/pool_aio_test.go:344
                    	Error:      	Received unexpected error:
                    	            	header: status: code = 1024 message = zero object ID
                    	Test:       	TestPoolAio/nspccdev/neofs-aio:latest/PoolInterfaceWithAIO/download_object

besides fix, the error message must also be improved

@cthulhu-rider cthulhu-rider added bug Something isn't working test Unit tests labels Dec 4, 2024
@cthulhu-rider
Copy link
Contributor Author

            --- FAIL: TestPoolAio/nspccdev/neofs-aio:latest/PoolInterfaceWithAIO/upload_object (0.01s)
                pool_aio_test.go:711: 
                    	Error Trace:	/home/runner/work/neofs-sdk-go/neofs-sdk-go/pool/pool_aio_test.go:711
                    	            				/home/runner/work/neofs-sdk-go/neofs-sdk-go/pool/pool_aio_test.go:334
                    	Error:      	Received unexpected error:
                    	            	status: code = 1024 message = storage of multiple object replicas is requested for a local operation
                    	Test:       	TestPoolAio/nspccdev/neofs-aio:latest/PoolInterfaceWithAIO/upload_object

was a node bug nspcc-dev/neofs-node#3042

cthulhu-rider added a commit that referenced this issue Dec 4, 2024
GitHub action runs tests with '-race' flag. This makes subtests run in
parallel. Previously, some subtests were dependent from each other:
 - eACL must be set after the container is created only;
 - object must be downloaded/delete only after upload only;
 - object download must expect success before the removal only;
 - any object tests must be performed before the container removal only.

This inlines dependent subtests into the superior one in a correct order
(it was correct if tests weren't run in parallel).

Refs #644.

Signed-off-by: Leonard Lyubich <[email protected]>
cthulhu-rider added a commit that referenced this issue Dec 4, 2024
GitHub action runs tests with '-race' flag. This makes subtests run in
parallel. Previously, some subtests were dependent from each other:
 - eACL must be set after the container is created only;
 - object must be downloaded/delete only after upload only;
 - object download must expect success before the removal only;
 - any object tests must be performed before the container removal only.

This inlines dependent subtests into the superior one in a correct order
(it was correct if tests weren't run in parallel).

Refs #644.

Signed-off-by: Leonard Lyubich <[email protected]>
cthulhu-rider added a commit that referenced this issue Dec 4, 2024
GitHub action runs tests with '-race' flag. This makes subtests run in
parallel. Previously, some subtests were dependent from each other:
 - eACL must be set after the container is created only;
 - object must be downloaded/delete only after upload only;
 - object download must expect success before the removal only;
 - any object tests must be performed before the container removal only.

This inlines dependent subtests into the superior one in a correct order
(it was correct if tests weren't run in parallel).

Refs #644.

Signed-off-by: Leonard Lyubich <[email protected]>
cthulhu-rider added a commit that referenced this issue Dec 10, 2024
Previously, some subtests were dependent from each other:
 - eACL must be set after container creation only;
 - eACL must be read after setting (existing test is not about 404 case);
 - any object test must be within container lifetime;
 - object must be downloaded after upload and before removal only;
 - object must be removed after upload only.

Now run order is correct. Independent tests are still run independently
and do not affect each other (e.g. GET and DELETE).

Refs #644.

Signed-off-by: Leonard Lyubich <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working test Unit tests
Projects
None yet
Development

No branches or pull requests

1 participant