Skip to content

Add test_run:log() for writing output to result file #224

Open
@sergepetrenko

Description

@sergepetrenko

When writing a multiline block in test, the whole block gets executed without any output to the result file. This is non-informative and leads to No output for ... seconds warnings, when block execution consumes a lot of time.

Example:

for i = 1,10 do                                                                     
    leader_id = get_leader(leader_set)                                              
    test_run:cmd('stop server raft_replica'..leader_id)                             
    leader_set[leader_id] = false                                                   
    new_leader_id = get_leader(leader_set)                                          
    assert(new_leader_id ~= leader_id)                                              
    test_run:cmd('start server raft_replica'..leader_id..' with wait=True, wait_load=True')
    leader_set[leader_id] = true                                                    
end;                                                                                
 | ---                                                                              
 | ...                                                                              

Would be much more informative with:

for i = 1,10 do                                                                     
+   test_run:log(i)
    leader_id = get_leader(leader_set)                                              
    test_run:cmd('stop server raft_replica'..leader_id)                             
    leader_set[leader_id] = false                                                   
    new_leader_id = get_leader(leader_set)                                          
    assert(new_leader_id ~= leader_id)
+   test_run:log('killed current leader, new leader elected')                                              
    test_run:cmd('start server raft_replica'..leader_id..' with wait=True, wait_load=True')
    leader_set[leader_id] = true                                                    
end;                                                                                
 | ---                                                                              
 | ...                                                                              
+test_run:log(i)
+ | ---
+ | - 1
+ | ...
+test_run:log('killed current leader, new leader elected')
+ | ---
+ | - killed current leader, new leader elected
+ | ...
+test_run:log(i)
+ | ---
+ | - 2
+ | ...
+test_run:log('killed current leader, new leader elected')
+ | ---
+ | - killed current leader, new leader elected
+ | ...
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureA new functionality

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions