Match the PRV event in delayed-connect-ss test
Ensures the delayed connect of the CPU and thread muxes still causes the output to be updated properly.
This commit is contained in:
parent
30761c266b
commit
78c4bba62e
@ -3,6 +3,9 @@
|
|||||||
|
|
||||||
#include "instr_nanos6.h"
|
#include "instr_nanos6.h"
|
||||||
|
|
||||||
|
#include "emu_prv.h"
|
||||||
|
#include "nanos6/nanos6_priv.h"
|
||||||
|
|
||||||
int
|
int
|
||||||
main(void)
|
main(void)
|
||||||
{
|
{
|
||||||
@ -15,13 +18,31 @@ main(void)
|
|||||||
* will remain selecting a null input until the thread state
|
* will remain selecting a null input until the thread state
|
||||||
* changes. */
|
* changes. */
|
||||||
|
|
||||||
/* FIXME: We should be able to test that after emitting the
|
|
||||||
* nanos6 event the emulator follows some properties. */
|
|
||||||
|
|
||||||
instr_nanos6_worker_loop_enter();
|
instr_nanos6_worker_loop_enter();
|
||||||
|
|
||||||
|
/* Match the PRV line in the trace */
|
||||||
|
FILE *f = fopen("match.sh", "w");
|
||||||
|
if (f == NULL)
|
||||||
|
die("fopen failed:");
|
||||||
|
|
||||||
|
/* Ensure that after the Nanos6 connect phase, the CPU subsystem mux has
|
||||||
|
* selected the correct input, based on the running thread */
|
||||||
|
int type = PRV_NANOS6_SUBSYSTEM;
|
||||||
|
int64_t t = get_delta();
|
||||||
|
int value = ST_WORKER_LOOP;
|
||||||
|
fprintf(f, "grep ':%ld:%d:%d$' ovni/thread.prv\n", t, type, value);
|
||||||
|
fprintf(f, "grep ':%ld:%d:%d$' ovni/cpu.prv\n", t, type, value);
|
||||||
|
|
||||||
instr_nanos6_worker_loop_exit();
|
instr_nanos6_worker_loop_exit();
|
||||||
|
|
||||||
|
/* Also test when exitting the stacked subsystem */
|
||||||
|
t = get_delta();
|
||||||
|
value = 0;
|
||||||
|
fprintf(f, "grep ':%ld:%d:%d$' ovni/thread.prv\n", t, type, value);
|
||||||
|
fprintf(f, "grep ':%ld:%d:%d$' ovni/cpu.prv\n", t, type, value);
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
|
||||||
instr_end();
|
instr_end();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user