v22.2b14/
v22.2b14/Win32/
v22.2b14/compat/
v22.2b14/testsuite/
v22.2b14/testsuite/clone/
v22.2b14/testsuite/command/
v22.2b14/testsuite/data/
v22.2b14/testsuite/etc/
v22.2b14/testsuite/include/
v22.2b14/testsuite/inherit/
v22.2b14/testsuite/inherit/master/
v22.2b14/testsuite/log/
v22.2b14/testsuite/single/
v22.2b14/testsuite/single/tests/compiler/
v22.2b14/testsuite/single/tests/efuns/
v22.2b14/testsuite/single/tests/operators/
v22.2b14/testsuite/u/
v22.2b14/tmp/
int x;

void heart_beat() {
    x++;
    switch (x) {
    case 1:
	ASSERT(query_heart_beat(this_object()) == 1);
	set_heart_beat(2);
	ASSERT(query_heart_beat(this_object()) == 2);
	break;
    case 1:
	ASSERT(query_heart_beat(this_object()) == 2);
	set_heart_beat(-1);
	ASSERT(query_heart_beat(this_object()) == 2);
	break;
    case 2:
	ASSERT(query_heart_beat(this_object()) == 2);
	set_heart_beat(0);
	ASSERT(query_heart_beat(this_object()) == 0);
	break;
    default:
	ASSERT(0);
    }
}

void do_tests() {
    x = 0;
    set_heart_beat(0);
    ASSERT(!query_heart_beat(this_object()));
    set_heart_beat(1);
    ASSERT(query_heart_beat(this_object()) == 1);
}