rem: println("failed for... "+progid+" with "+d+" returned "+v.data); 
add: println("failed for... "+contractid+" with "+d+" returned "+v.data); 
context: function test(progid, iid, d, string_val, val_compare_fn, str_compare_fn){    var test1_result;        var test2_result;        var full_progid = progid_prefix+progid;//    println("checking... "+progid+" "+iid+ " with "+d);    var clazz = Components.classes[full_progid];    if(!clazz) {        println(progid+ " is not a valid progid");        return false;    }    var v = clazz.createInstance(Components.interfaces[iid])    v.data = d;    if(!val_compare_fn)        val_compare_fn = regular_compare;    if(!str_compare_fn)        str_compare_fn = regular_compare;    test1_result = val_compare_fn(d,v.data);    if(string_val) {        if(string_val == same)            test2_result = str_compare_fn(""+v, ""+d);        else            test2_result = str_compare_fn(""+v, string_val);    }    else        test2_result = true;    if(!test1_result)        println("failed for... "+progid+" with "+d+" returned "+v.data);    if(!test2_result)        println("failed toString for... "+progid+" with "+d+" returned "+""+v);    return test1_result && test2_result;}    
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/6cc70ebd6c97bd0b2fe48c31f579e855387ced9d/xpctest_primitives.js/clean/js/src/xpconnect/tests/js/old/xpctest_primitives.js