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 light = 0;

#define CHK ASSERT(light = set_light(0));

#ifndef __NO_ENVIRONMENT__
void move_or_destruct(object ob) {
    move_object(new("/single/void"));
}
#endif

void do_tests() {
    object ob;
    
#ifndef __NO_LIGHT__
    CHK;
    set_light(2);
    light += 2;
    CHK;

#ifndef __NO_ENVIRONMENT__
    ob = new(__DIR__ "light");
    ob->move(this_object());
    light += 3;
    CHK;

    destruct(ob);
    light -= 3;
    CHK;
    
    ob = new(__DIR__ "light");
    move_object(ob);
    light += 3;
    CHK;
    
    destruct(ob);
    light -= 3;
    CHK;
#endif    
#endif
}