Skip to content

Encode test case information into id of jsonrpc calls #65

@aion-kelvin

Description

@aion-kelvin

With the ConcurrentRunner, multiple test cases execute concurrently. Many test cases print out the jsonrpc calls that they make, to provide the user with some information about what the test is doing.

When there is a large number of tests, it is a bit hard to figure out which test sent which transaction. The ConcurrentRunner prints out a header of the test name before the jsonrpc calls are printed, which helps, but it is still hard to grep. Also if looking at logs from kernel side, it's hard to see what request corresponds to what test case. Furthermore, when trying to reproduce an issue that arises due to concurrent execution of transactions, it is hard to see the temporal ordering of these calls.

jsonrpc calls have an "id" field that can be a string. I propose that we encode the test case and sequence number of the rpc call into this id. One possible way: put threadId or test case name or some kind of test case id into the "id" field. Also put a sequence number (can be implemented by a counter that is per-test-case or global to the entire ConcurrentSuite or put both). Separate the fields with some kind of punctuation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions