зеркало из https://github.com/mozilla/pjs.git
Merge mozilla-central to tracemonkey.
This commit is contained in:
Коммит
5d7a279f0a
|
@ -653,7 +653,7 @@ JS_TypeOfValue(JSContext *cx, jsval v)
|
|||
|
||||
ops = obj->map->ops;
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
if (ops == &js_XMLObjectOps.base) {
|
||||
if (ops == &js_XMLObjectOps) {
|
||||
type = JSTYPE_XML;
|
||||
} else
|
||||
#endif
|
||||
|
@ -3611,22 +3611,10 @@ JS_GetMethodById(JSContext *cx, JSObject *obj, jsid id, JSObject **objp,
|
|||
JSAutoResolveFlags rf(cx, JSRESOLVE_QUALIFIED);
|
||||
|
||||
CHECK_REQUEST(cx);
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
if (OBJECT_IS_XML(cx, obj)) {
|
||||
JSXMLObjectOps *ops;
|
||||
|
||||
ops = (JSXMLObjectOps *) obj->map->ops;
|
||||
obj = ops->getMethod(cx, obj, id, vp);
|
||||
if (!obj)
|
||||
return JS_FALSE;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
if (!OBJ_GET_PROPERTY(cx, obj, id, vp))
|
||||
return JS_FALSE;
|
||||
}
|
||||
|
||||
*objp = obj;
|
||||
if (!js_GetMethod(cx, obj, id, vp, NULL))
|
||||
return JS_FALSE;
|
||||
if (objp)
|
||||
*objp = obj;
|
||||
return JS_TRUE;
|
||||
}
|
||||
|
||||
|
@ -5179,27 +5167,14 @@ JS_PUBLIC_API(JSBool)
|
|||
JS_CallFunctionName(JSContext *cx, JSObject *obj, const char *name, uintN argc,
|
||||
jsval *argv, jsval *rval)
|
||||
{
|
||||
JSBool ok;
|
||||
jsval fval;
|
||||
|
||||
CHECK_REQUEST(cx);
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
if (OBJECT_IS_XML(cx, obj)) {
|
||||
JSXMLObjectOps *ops;
|
||||
JSAtom *atom;
|
||||
|
||||
ops = (JSXMLObjectOps *) obj->map->ops;
|
||||
atom = js_Atomize(cx, name, strlen(name), 0);
|
||||
if (!atom)
|
||||
return JS_FALSE;
|
||||
obj = ops->getMethod(cx, obj, ATOM_TO_JSID(atom), &fval);
|
||||
if (!obj)
|
||||
return JS_FALSE;
|
||||
} else
|
||||
#endif
|
||||
if (!JS_GetProperty(cx, obj, name, &fval))
|
||||
return JS_FALSE;
|
||||
ok = js_InternalCall(cx, obj, fval, argc, argv, rval);
|
||||
JSAutoTempValueRooter tvr(cx);
|
||||
JSAtom *atom = js_Atomize(cx, name, strlen(name), 0);
|
||||
JSBool ok = atom &&
|
||||
JS_GetMethodById(cx, obj, ATOM_TO_JSID(atom), NULL,
|
||||
tvr.addr()) &&
|
||||
js_InternalCall(cx, obj, tvr.value(), argc, argv, rval);
|
||||
LAST_FRAME_CHECKS(cx, ok);
|
||||
return ok;
|
||||
}
|
||||
|
|
|
@ -1430,15 +1430,6 @@ struct JSObjectOps {
|
|||
JSSetRequiredSlotOp setRequiredSlot;
|
||||
};
|
||||
|
||||
struct JSXMLObjectOps {
|
||||
JSObjectOps base;
|
||||
JSGetMethodOp getMethod;
|
||||
JSSetMethodOp setMethod;
|
||||
JSEnumerateValuesOp enumerateValues;
|
||||
JSEqualityOp equality;
|
||||
JSConcatenateOp concatenate;
|
||||
};
|
||||
|
||||
/*
|
||||
* Classes that expose JSObjectOps via a non-null getObjectOps class hook may
|
||||
* derive a property structure from this struct, return a pointer to it from
|
||||
|
|
|
@ -936,24 +936,9 @@ js_OnUnknownMethod(JSContext *cx, jsval *vp)
|
|||
|
||||
MUST_FLOW_THROUGH("out");
|
||||
id = ATOM_TO_JSID(cx->runtime->atomState.noSuchMethodAtom);
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
if (OBJECT_IS_XML(cx, obj)) {
|
||||
JSXMLObjectOps *ops;
|
||||
|
||||
ops = (JSXMLObjectOps *) obj->map->ops;
|
||||
obj = ops->getMethod(cx, obj, id, &tvr.u.value);
|
||||
if (!obj) {
|
||||
ok = JS_FALSE;
|
||||
goto out;
|
||||
}
|
||||
vp[1] = OBJECT_TO_JSVAL(obj);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
ok = OBJ_GET_PROPERTY(cx, obj, id, &tvr.u.value);
|
||||
if (!ok)
|
||||
goto out;
|
||||
}
|
||||
ok = js_GetMethod(cx, obj, id, &tvr.u.value, NULL);
|
||||
if (!ok)
|
||||
goto out;
|
||||
if (JSVAL_IS_PRIMITIVE(tvr.u.value)) {
|
||||
vp[0] = tvr.u.value;
|
||||
} else {
|
||||
|
@ -3582,12 +3567,9 @@ js_Interpret(JSContext *cx)
|
|||
(rtmp == JSVAL_OBJECT && \
|
||||
(obj2 = JSVAL_TO_OBJECT(rval)) && \
|
||||
OBJECT_IS_XML(cx, obj2))) { \
|
||||
JSXMLObjectOps *ops; \
|
||||
\
|
||||
ops = (JSXMLObjectOps *) obj2->map->ops; \
|
||||
if (JSVAL_IS_OBJECT(rval) && obj2 == JSVAL_TO_OBJECT(rval)) \
|
||||
rval = lval; \
|
||||
if (!ops->equality(cx, obj2, rval, &cond)) \
|
||||
if (!js_TestXMLEquality(cx, obj2, rval, &cond)) \
|
||||
goto error; \
|
||||
cond = cond OP JS_TRUE; \
|
||||
} else
|
||||
|
@ -3761,10 +3743,7 @@ js_Interpret(JSContext *cx)
|
|||
if (!JSVAL_IS_PRIMITIVE(lval) &&
|
||||
(obj2 = JSVAL_TO_OBJECT(lval), OBJECT_IS_XML(cx, obj2)) &&
|
||||
VALUE_IS_XML(cx, rval)) {
|
||||
JSXMLObjectOps *ops;
|
||||
|
||||
ops = (JSXMLObjectOps *) obj2->map->ops;
|
||||
if (!ops->concatenate(cx, obj2, rval, &rval))
|
||||
if (!js_ConcatenateXML(cx, obj2, rval, &rval))
|
||||
goto error;
|
||||
regs.sp--;
|
||||
STORE_OPND(-1, rval);
|
||||
|
@ -4386,22 +4365,8 @@ js_Interpret(JSContext *cx)
|
|||
id = ATOM_TO_JSID(atom);
|
||||
PUSH(JSVAL_NULL);
|
||||
if (!JSVAL_IS_PRIMITIVE(lval)) {
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
/* Special-case XML object method lookup, per ECMA-357. */
|
||||
if (OBJECT_IS_XML(cx, obj)) {
|
||||
JSXMLObjectOps *ops;
|
||||
|
||||
ops = (JSXMLObjectOps *) obj->map->ops;
|
||||
obj = ops->getMethod(cx, obj, id, &rval);
|
||||
if (!obj)
|
||||
goto error;
|
||||
} else
|
||||
#endif
|
||||
if (entry
|
||||
? !js_GetPropertyHelper(cx, obj, id, &rval, &entry)
|
||||
: !OBJ_GET_PROPERTY(cx, obj, id, &rval)) {
|
||||
if (!js_GetMethod(cx, obj, id, &rval, entry ? &entry : NULL))
|
||||
goto error;
|
||||
}
|
||||
STORE_OPND(-1, OBJECT_TO_JSVAL(obj));
|
||||
STORE_OPND(-2, rval);
|
||||
} else {
|
||||
|
@ -4699,11 +4664,7 @@ js_Interpret(JSContext *cx)
|
|||
END_CASE(JSOP_GETELEM)
|
||||
|
||||
BEGIN_CASE(JSOP_CALLELEM)
|
||||
/*
|
||||
* FIXME: JSOP_CALLELEM should call getMethod on XML objects as
|
||||
* CALLPROP does. See bug 362910.
|
||||
*/
|
||||
ELEMENT_OP(-1, OBJ_GET_PROPERTY(cx, obj, id, &rval));
|
||||
ELEMENT_OP(-1, js_GetMethod(cx, obj, id, &rval, NULL));
|
||||
#if JS_HAS_NO_SUCH_METHOD
|
||||
if (JS_UNLIKELY(JSVAL_IS_VOID(rval))) {
|
||||
regs.sp[-2] = regs.sp[-1];
|
||||
|
|
|
@ -104,9 +104,8 @@ js_CloseNativeIterator(JSContext *cx, JSObject *iterobj)
|
|||
#if JS_HAS_XML_SUPPORT
|
||||
uintN flags = JSVAL_TO_INT(STOBJ_GET_SLOT(iterobj, JSSLOT_ITER_FLAGS));
|
||||
if ((flags & JSITER_FOREACH) && OBJECT_IS_XML(cx, iterable)) {
|
||||
((JSXMLObjectOps *) iterable->map->ops)->
|
||||
enumerateValues(cx, iterable, JSENUMERATE_DESTROY, &state,
|
||||
NULL, NULL);
|
||||
js_EnumerateXMLValues(cx, iterable, JSENUMERATE_DESTROY, &state,
|
||||
NULL, NULL);
|
||||
} else
|
||||
#endif
|
||||
OBJ_ENUMERATE(cx, iterable, JSENUMERATE_DESTROY, &state, NULL);
|
||||
|
@ -143,8 +142,7 @@ InitNativeIterator(JSContext *cx, JSObject *iterobj, JSObject *obj, uintN flags)
|
|||
ok =
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
((flags & JSITER_FOREACH) && OBJECT_IS_XML(cx, obj))
|
||||
? ((JSXMLObjectOps *) obj->map->ops)->
|
||||
enumerateValues(cx, obj, JSENUMERATE_INIT, &state, NULL, NULL)
|
||||
? js_EnumerateXMLValues(cx, obj, JSENUMERATE_INIT, &state, NULL, NULL)
|
||||
:
|
||||
#endif
|
||||
OBJ_ENUMERATE(cx, obj, JSENUMERATE_INIT, &state, NULL);
|
||||
|
@ -233,9 +231,8 @@ IteratorNextImpl(JSContext *cx, JSObject *obj, jsval *rval)
|
|||
ok =
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
(foreach && OBJECT_IS_XML(cx, iterable))
|
||||
? ((JSXMLObjectOps *) iterable->map->ops)->
|
||||
enumerateValues(cx, iterable, JSENUMERATE_NEXT, &state,
|
||||
&id, rval)
|
||||
? js_EnumerateXMLValues(cx, iterable, JSENUMERATE_NEXT, &state,
|
||||
&id, rval)
|
||||
:
|
||||
#endif
|
||||
OBJ_ENUMERATE(cx, iterable, JSENUMERATE_NEXT, &state, &id);
|
||||
|
@ -377,17 +374,8 @@ js_ValueToIterator(JSContext *cx, uintN flags, jsval *vp)
|
|||
*vp = OBJECT_TO_JSVAL(iterobj);
|
||||
} else {
|
||||
atom = cx->runtime->atomState.iteratorAtom;
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
if (OBJECT_IS_XML(cx, obj)) {
|
||||
if (!js_GetXMLFunction(cx, obj, ATOM_TO_JSID(atom), vp))
|
||||
goto bad;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
if (!OBJ_GET_PROPERTY(cx, obj, ATOM_TO_JSID(atom), vp))
|
||||
goto bad;
|
||||
}
|
||||
|
||||
if (!js_GetMethod(cx, obj, ATOM_TO_JSID(atom), vp, NULL))
|
||||
goto bad;
|
||||
if (JSVAL_IS_VOID(*vp)) {
|
||||
default_iter:
|
||||
/*
|
||||
|
@ -486,10 +474,8 @@ CallEnumeratorNext(JSContext *cx, JSObject *iterobj, uintN flags, jsval *rval)
|
|||
*/
|
||||
if (obj == origobj && OBJECT_IS_XML(cx, obj)) {
|
||||
if (foreach) {
|
||||
JSXMLObjectOps *xmlops = (JSXMLObjectOps *) obj->map->ops;
|
||||
|
||||
if (!xmlops->enumerateValues(cx, obj, JSENUMERATE_NEXT, &state,
|
||||
&id, rval)) {
|
||||
if (!js_EnumerateXMLValues(cx, obj, JSENUMERATE_NEXT, &state,
|
||||
&id, rval)) {
|
||||
return JS_FALSE;
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -4326,6 +4326,22 @@ js_GetProperty(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
|
|||
return js_GetPropertyHelper(cx, obj, id, vp, NULL);
|
||||
}
|
||||
|
||||
JSBool
|
||||
js_GetMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
|
||||
JSPropCacheEntry **entryp)
|
||||
{
|
||||
if (obj->map->ops == &js_ObjectOps ||
|
||||
obj->map->ops->getProperty == js_GetProperty) {
|
||||
return js_GetPropertyHelper(cx, obj, id, vp, entryp);
|
||||
}
|
||||
JS_ASSERT_IF(entryp, OBJ_IS_DENSE_ARRAY(cx, obj));
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
if (OBJECT_IS_XML(cx, obj))
|
||||
return js_GetXMLMethod(cx, obj, id, vp);
|
||||
#endif
|
||||
return OBJ_GET_PROPERTY(cx, obj, id, vp);
|
||||
}
|
||||
|
||||
JSBool
|
||||
js_SetPropertyHelper(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
|
||||
JSPropCacheEntry **entryp)
|
||||
|
@ -5442,18 +5458,7 @@ js_TryMethod(JSContext *cx, JSObject *obj, JSAtom *atom,
|
|||
older = JS_SetErrorReporter(cx, NULL);
|
||||
id = ATOM_TO_JSID(atom);
|
||||
fval = JSVAL_VOID;
|
||||
#if JS_HAS_XML_SUPPORT
|
||||
if (OBJECT_IS_XML(cx, obj)) {
|
||||
JSXMLObjectOps *ops;
|
||||
|
||||
ops = (JSXMLObjectOps *) obj->map->ops;
|
||||
obj = ops->getMethod(cx, obj, id, &fval);
|
||||
ok = (obj != NULL);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
ok = OBJ_GET_PROPERTY(cx, obj, id, &fval);
|
||||
}
|
||||
ok = js_GetMethod(cx, obj, id, &fval, NULL);
|
||||
if (!ok)
|
||||
JS_ClearPendingException(cx);
|
||||
JS_SetErrorReporter(cx, older);
|
||||
|
|
|
@ -674,6 +674,10 @@ js_GetPropertyHelper(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
|
|||
extern JSBool
|
||||
js_GetProperty(JSContext *cx, JSObject *obj, jsid id, jsval *vp);
|
||||
|
||||
extern JSBool
|
||||
js_GetMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
|
||||
JSPropCacheEntry **entryp);
|
||||
|
||||
extern JSBool
|
||||
js_SetPropertyHelper(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
|
||||
JSPropCacheEntry **entryp);
|
||||
|
|
|
@ -145,7 +145,6 @@ typedef struct JSPropertySpec JSPropertySpec;
|
|||
typedef struct JSObject JSObject;
|
||||
typedef struct JSObjectMap JSObjectMap;
|
||||
typedef struct JSObjectOps JSObjectOps;
|
||||
typedef struct JSXMLObjectOps JSXMLObjectOps;
|
||||
typedef struct JSRuntime JSRuntime;
|
||||
typedef struct JSRuntime JSTaskState; /* XXX deprecated name */
|
||||
typedef struct JSScript JSScript;
|
||||
|
@ -296,10 +295,6 @@ typedef void
|
|||
* a JSClass *clasp parameter to JS_NewObject, etc. Most host objects do not
|
||||
* need to implement the larger JSObjectOps, and can share the common JSScope
|
||||
* code and data used by the native (js_ObjectOps, see jsobj.c) ops.
|
||||
*
|
||||
* Further extension to preserve API compatibility: if this function returns
|
||||
* a pointer to JSXMLObjectOps.base, not to JSObjectOps, then the engine calls
|
||||
* extended hooks needed for E4X.
|
||||
*/
|
||||
typedef JSObjectOps *
|
||||
(* JSGetObjectOps)(JSContext *cx, JSClass *clasp);
|
||||
|
|
|
@ -132,6 +132,9 @@ const uint32 JSSLOT_LOCAL_NAME = JSSLOT_PRIVATE + 2;
|
|||
const uint32 NAMESPACE_RESERVED_SLOTS = 3;
|
||||
const uint32 QNAME_RESERVED_SLOTS = 3;
|
||||
|
||||
static JSBool
|
||||
GetXMLFunction(JSContext *cx, JSObject *obj, jsid id, jsval *vp);
|
||||
|
||||
static JSBool
|
||||
IsQNameClass(JSClass *clasp)
|
||||
{
|
||||
|
@ -3496,9 +3499,6 @@ Descendants(JSContext *cx, JSXML *xml, jsval id)
|
|||
return list;
|
||||
}
|
||||
|
||||
static JSBool
|
||||
xml_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp);
|
||||
|
||||
/* Recursive (JSXML *) parameterized version of Equals. */
|
||||
static JSBool
|
||||
XMLEquals(JSContext *cx, JSXML *xml, JSXML *vxml, JSBool *bp)
|
||||
|
@ -3556,7 +3556,7 @@ retry:
|
|||
xobj = js_GetXMLObject(cx, kid);
|
||||
vobj = js_GetXMLObject(cx, vkid);
|
||||
ok = xobj && vobj &&
|
||||
xml_equality(cx, xobj, OBJECT_TO_JSVAL(vobj), bp);
|
||||
js_TestXMLEquality(cx, xobj, OBJECT_TO_JSVAL(vobj), bp);
|
||||
if (!ok || !*bp)
|
||||
break;
|
||||
}
|
||||
|
@ -3606,7 +3606,7 @@ Equals(JSContext *cx, JSXML *xml, jsval v, JSBool *bp)
|
|||
vobj = js_GetXMLObject(cx, vxml);
|
||||
if (!vobj)
|
||||
return JS_FALSE;
|
||||
return js_XMLObjectOps.equality(cx, vobj, v, bp);
|
||||
return js_TestXMLEquality(cx, vobj, v, bp);
|
||||
}
|
||||
if (JSVAL_IS_VOID(v) && xml->xml_kids.length == 0)
|
||||
*bp = JS_TRUE;
|
||||
|
@ -3991,7 +3991,7 @@ GetProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
|
|||
if (!nameqn)
|
||||
return JS_FALSE;
|
||||
if (funid)
|
||||
return js_GetXMLFunction(cx, obj, funid, vp);
|
||||
return GetXMLFunction(cx, obj, funid, vp);
|
||||
|
||||
roots[0] = OBJECT_TO_JSVAL(nameqn);
|
||||
JS_PUSH_TEMP_ROOT(cx, 1, roots, &tvr);
|
||||
|
@ -4837,7 +4837,7 @@ HasFunctionProperty(JSContext *cx, JSObject *obj, jsid funid, JSBool *found)
|
|||
if (HasSimpleContent(xml)) {
|
||||
/*
|
||||
* Search in String.prototype to set found whenever
|
||||
* js_GetXMLFunction returns existing function.
|
||||
* GetXMLFunction returns existing function.
|
||||
*/
|
||||
JS_PUSH_TEMP_ROOT_OBJECT(cx, NULL, &tvr);
|
||||
ok = js_GetClassPrototype(cx, NULL, INT_TO_JSID(JSProto_String),
|
||||
|
@ -4927,7 +4927,7 @@ xml_trace_vector(JSTracer *trc, JSXML **vec, uint32 len)
|
|||
* FIXME This clashes with the function namespace implementation which also
|
||||
* uses native properties. Effectively after xml_lookupProperty any property
|
||||
* stored previously using assignments to xml.function::name will be removed.
|
||||
* We partially workaround the problem in js_GetXMLFunction. There we take
|
||||
* We partially workaround the problem in GetXMLFunction. There we take
|
||||
* advantage of the fact that typically function:: is used to access the
|
||||
* functions from XML.prototype. So when js_GetProperty returns a non-function
|
||||
* property, we assume that it represents the result of GetProperty setter
|
||||
|
@ -5222,40 +5222,40 @@ again:
|
|||
/*
|
||||
* 11.2.2.1 Step 3(d) onward.
|
||||
*/
|
||||
static JSObject *
|
||||
xml_getMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
|
||||
JSBool
|
||||
js_GetXMLMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
|
||||
{
|
||||
JSTempValueRooter tvr;
|
||||
|
||||
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
|
||||
|
||||
if (JSID_IS_OBJECT(id)) {
|
||||
jsid funid;
|
||||
|
||||
if (!js_IsFunctionQName(cx, JSID_TO_OBJECT(id), &funid))
|
||||
return JS_FALSE;
|
||||
if (funid != 0)
|
||||
id = funid;
|
||||
}
|
||||
|
||||
/*
|
||||
* As our callers have a bad habit of passing a pointer to an unrooted
|
||||
* local value as vp, we use a proper root here.
|
||||
*/
|
||||
JS_PUSH_SINGLE_TEMP_ROOT(cx, JSVAL_NULL, &tvr);
|
||||
if (!js_GetXMLFunction(cx, obj, id, &tvr.u.value))
|
||||
obj = NULL;
|
||||
*vp = tvr.u.value;
|
||||
JS_POP_TEMP_ROOT(cx, &tvr);
|
||||
return obj;
|
||||
JSAutoTempValueRooter tvr(cx);
|
||||
JSBool ok = GetXMLFunction(cx, obj, id, tvr.addr());
|
||||
*vp = tvr.value();
|
||||
return ok;
|
||||
}
|
||||
|
||||
static JSBool
|
||||
xml_setMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
|
||||
{
|
||||
return js_SetProperty(cx, obj, id, vp);
|
||||
}
|
||||
|
||||
static JSBool
|
||||
xml_enumerateValues(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
|
||||
jsval *statep, jsid *idp, jsval *vp)
|
||||
JSBool
|
||||
js_EnumerateXMLValues(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
|
||||
jsval *statep, jsid *idp, jsval *vp)
|
||||
{
|
||||
JSXML *xml, *kid;
|
||||
uint32 length, index;
|
||||
JSXMLArrayCursor *cursor;
|
||||
JSObject *kidobj;
|
||||
|
||||
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
|
||||
xml = (JSXML *) JS_GetPrivate(cx, obj);
|
||||
length = JSXML_LENGTH(xml);
|
||||
JS_ASSERT(INT_FITS_IN_JSVAL(length));
|
||||
|
@ -5308,8 +5308,8 @@ xml_enumerateValues(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
|
|||
return JS_TRUE;
|
||||
}
|
||||
|
||||
static JSBool
|
||||
xml_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
|
||||
JSBool
|
||||
js_TestXMLEquality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
|
||||
{
|
||||
JSXML *xml, *vxml;
|
||||
JSObject *vobj;
|
||||
|
@ -5317,6 +5317,7 @@ xml_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
|
|||
JSString *str, *vstr;
|
||||
jsdouble d, d2;
|
||||
|
||||
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
|
||||
xml = (JSXML *) JS_GetPrivate(cx, obj);
|
||||
vxml = NULL;
|
||||
if (!JSVAL_IS_PRIMITIVE(v)) {
|
||||
|
@ -5382,13 +5383,14 @@ xml_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
|
|||
return ok;
|
||||
}
|
||||
|
||||
static JSBool
|
||||
xml_concatenate(JSContext *cx, JSObject *obj, jsval v, jsval *vp)
|
||||
JSBool
|
||||
js_ConcatenateXML(JSContext *cx, JSObject *obj, jsval v, jsval *vp)
|
||||
{
|
||||
JSBool ok;
|
||||
JSObject *listobj, *robj;
|
||||
JSXML *list, *lxml, *rxml;
|
||||
|
||||
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
|
||||
ok = js_EnterLocalRootScope(cx);
|
||||
if (!ok)
|
||||
return JS_FALSE;
|
||||
|
@ -5426,8 +5428,8 @@ out:
|
|||
}
|
||||
|
||||
/* Use js_NewObjectMap so XML objects satisfy OBJ_IS_NATIVE tests. */
|
||||
JS_FRIEND_DATA(JSXMLObjectOps) js_XMLObjectOps = {
|
||||
{ js_NewObjectMap, js_DestroyObjectMap,
|
||||
JS_FRIEND_DATA(JSObjectOps) js_XMLObjectOps = {
|
||||
js_NewObjectMap, js_DestroyObjectMap,
|
||||
xml_lookupProperty, xml_defineProperty,
|
||||
xml_getProperty, xml_setProperty,
|
||||
xml_getAttributes, xml_setAttributes,
|
||||
|
@ -5438,16 +5440,13 @@ JS_FRIEND_DATA(JSXMLObjectOps) js_XMLObjectOps = {
|
|||
NULL, xml_hasInstance,
|
||||
js_SetProtoOrParent, js_SetProtoOrParent,
|
||||
js_TraceObject, xml_clear,
|
||||
NULL, NULL },
|
||||
xml_getMethod, xml_setMethod,
|
||||
xml_enumerateValues, xml_equality,
|
||||
xml_concatenate
|
||||
NULL, NULL
|
||||
};
|
||||
|
||||
static JSObjectOps *
|
||||
xml_getObjectOps(JSContext *cx, JSClass *clasp)
|
||||
{
|
||||
return &js_XMLObjectOps.base;
|
||||
return &js_XMLObjectOps;
|
||||
}
|
||||
|
||||
JS_FRIEND_DATA(JSClass) js_XMLClass = {
|
||||
|
@ -5812,7 +5811,7 @@ xml_contains(JSContext *cx, uintN argc, jsval *vp)
|
|||
XMLArrayCursorInit(&cursor, &xml->xml_kids);
|
||||
while ((kid = (JSXML *) XMLArrayCursorNext(&cursor)) != NULL) {
|
||||
kidobj = js_GetXMLObject(cx, kid);
|
||||
if (!kidobj || !xml_equality(cx, kidobj, value, &eq))
|
||||
if (!kidobj || !js_TestXMLEquality(cx, kidobj, value, &eq))
|
||||
break;
|
||||
if (eq)
|
||||
break;
|
||||
|
@ -5821,7 +5820,7 @@ xml_contains(JSContext *cx, uintN argc, jsval *vp)
|
|||
if (kid && !eq)
|
||||
return JS_FALSE;
|
||||
} else {
|
||||
if (!xml_equality(cx, obj, value, &eq))
|
||||
if (!js_TestXMLEquality(cx, obj, value, &eq))
|
||||
return JS_FALSE;
|
||||
}
|
||||
*vp = BOOLEAN_TO_JSVAL(eq);
|
||||
|
@ -7995,8 +7994,8 @@ js_FindXMLProperty(JSContext *cx, jsval nameval, JSObject **objp, jsid *idp)
|
|||
return JS_FALSE;
|
||||
}
|
||||
|
||||
JSBool
|
||||
js_GetXMLFunction(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
|
||||
static JSBool
|
||||
GetXMLFunction(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
|
||||
{
|
||||
JSObject *target;
|
||||
JSXML *xml;
|
||||
|
|
|
@ -168,7 +168,7 @@ js_NewXMLObject(JSContext *cx, JSXMLClass xml_class);
|
|||
extern JSObject *
|
||||
js_GetXMLObject(JSContext *cx, JSXML *xml);
|
||||
|
||||
extern JS_FRIEND_DATA(JSXMLObjectOps) js_XMLObjectOps;
|
||||
extern JS_FRIEND_DATA(JSObjectOps) js_XMLObjectOps;
|
||||
extern JS_FRIEND_DATA(JSClass) js_XMLClass;
|
||||
extern JS_FRIEND_DATA(JSExtendedClass) js_NamespaceClass;
|
||||
extern JS_FRIEND_DATA(JSExtendedClass) js_QNameClass;
|
||||
|
@ -181,7 +181,7 @@ extern JSClass js_XMLFilterClass;
|
|||
* NB: jsobj.h must be included before any call to OBJECT_IS_XML, and jsapi.h
|
||||
* and jsobj.h must be included before any call to VALUE_IS_XML.
|
||||
*/
|
||||
#define OBJECT_IS_XML(cx,obj) ((obj)->map->ops == &js_XMLObjectOps.base)
|
||||
#define OBJECT_IS_XML(cx,obj) ((obj)->map->ops == &js_XMLObjectOps)
|
||||
#define VALUE_IS_XML(cx,v) (!JSVAL_IS_PRIMITIVE(v) && \
|
||||
OBJECT_IS_XML(cx, JSVAL_TO_OBJECT(v)))
|
||||
|
||||
|
@ -256,7 +256,7 @@ extern JSBool
|
|||
js_FindXMLProperty(JSContext *cx, jsval nameval, JSObject **objp, jsid *idp);
|
||||
|
||||
extern JSBool
|
||||
js_GetXMLFunction(JSContext *cx, JSObject *obj, jsid id, jsval *vp);
|
||||
js_GetXMLMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp);
|
||||
|
||||
extern JSBool
|
||||
js_GetXMLDescendants(JSContext *cx, JSObject *obj, jsval id, jsval *vp);
|
||||
|
@ -292,6 +292,16 @@ js_MakeXMLCommentString(JSContext *cx, JSString *str);
|
|||
extern JSString *
|
||||
js_MakeXMLPIString(JSContext *cx, JSString *name, JSString *str);
|
||||
|
||||
extern JSBool
|
||||
js_EnumerateXMLValues(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
|
||||
jsval *statep, jsid *idp, jsval *vp);
|
||||
|
||||
extern JSBool
|
||||
js_TestXMLEquality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp);
|
||||
|
||||
extern JSBool
|
||||
js_ConcatenateXML(JSContext *cx, JSObject *obj, jsval v, jsval *vp);
|
||||
|
||||
JS_END_EXTERN_C
|
||||
|
||||
#endif /* jsxml_h___ */
|
||||
|
|
|
@ -21,14 +21,24 @@ menu-list.txt:
|
|||
|
||||
.PHONY: patterns
|
||||
|
||||
patterns:
|
||||
touch confidential-failures.txt
|
||||
public-failures.txt:
|
||||
touch $@
|
||||
|
||||
confidential-failures.txt:
|
||||
touch $@
|
||||
|
||||
universe.data:
|
||||
touch $@
|
||||
|
||||
confidential-universe.data:
|
||||
touch $@
|
||||
|
||||
patterns: confidential-failures.txt confidential-universe.data public-failures.txt universe.data
|
||||
if [[ -e confidential-failures.txt.expanded ]]; then \
|
||||
cp confidential-failures.txt confidential-failures.txt.save; \
|
||||
export TEST_UNIVERSE=$(CURRDIR)/confidential-universe.data && \
|
||||
./pattern-extracter.pl confidential-failures.txt.expanded > confidential-failures.txt; \
|
||||
fi
|
||||
touch public-failures.txt
|
||||
if [[ -e public-failures.txt.expanded ]]; then \
|
||||
cp public-failures.txt public-failures.txt.save; \
|
||||
./pattern-extracter.pl public-failures.txt.expanded > public-failures.txt; \
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Jesse Ruderman
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-466747.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 466747;
|
||||
var summary = 'TM: Do not assert: fp->slots + fp->script->nfixed + ' +
|
||||
'js_ReconstructStackDepth(cx, fp->script, fp->regs->pc) == fp->regs->sp';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
test();
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function test()
|
||||
{
|
||||
enterFunc ('test');
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
if (typeof window == 'undefined')
|
||||
{
|
||||
expect = actual = 'Test skipped: browser only';
|
||||
reportCompare(expect, actual, summary);
|
||||
}
|
||||
else
|
||||
{
|
||||
gDelayTestDriverEnd = true;
|
||||
|
||||
jit(true);
|
||||
|
||||
function newScriptWithLoop(m)
|
||||
{
|
||||
var ns = document.createElement("script");
|
||||
var nt = document.createTextNode("for (var q = 0; q < " + m + "; ++q) { }");
|
||||
ns.appendChild(nt);
|
||||
return ns;
|
||||
}
|
||||
|
||||
function boom()
|
||||
{
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(newScriptWithLoop(7));
|
||||
div.appendChild(newScriptWithLoop(1));
|
||||
document.body.appendChild(div);
|
||||
|
||||
jit(false);
|
||||
|
||||
reportCompare(expect, actual, summary);
|
||||
gDelayTestDriverEnd = false;
|
||||
jsTestDriverEnd();
|
||||
}
|
||||
|
||||
window.addEventListener('load', boom, false);
|
||||
}
|
||||
|
||||
exitFunc ('test');
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Carsten Book
|
||||
* Jesse Ruderman
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-476192.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 476192;
|
||||
var summary = 'TM: Do not assert: Assertion failure: JSVAL_TAG(v) == JSVAL_STRING';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
test();
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function test()
|
||||
{
|
||||
enterFunc ('test');
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
jit(true);
|
||||
|
||||
var global;
|
||||
|
||||
(function(){
|
||||
var ad = {present: ""};
|
||||
var params = ['present', 'a', 'present', 'a', 'present', 'a', 'present'];
|
||||
for (var j = 0; j < params.length; j++) {
|
||||
global = ad[params[j]];
|
||||
}
|
||||
})();
|
||||
|
||||
jit(false);
|
||||
|
||||
reportCompare(expect, actual, summary);
|
||||
|
||||
exitFunc ('test');
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Carsten Book
|
||||
* Jesse Ruderman
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-480147.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 480147;
|
||||
var summary = 'TM: Do not assert: cx->bailExit';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
test();
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function test()
|
||||
{
|
||||
enterFunc ('test');
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
jit(true);
|
||||
|
||||
var w = [/a/, /b/, /c/, {}];
|
||||
for (var i = 0; i < w.length; ++i)
|
||||
"".replace(w[i], "");
|
||||
|
||||
jit(false);
|
||||
|
||||
reportCompare(expect, actual, summary);
|
||||
|
||||
exitFunc ('test');
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Gary Kwong
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-482421.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 482421;
|
||||
var summary = 'TM: Do not assert: vp >= StackBase(fp)';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
jit(true);
|
||||
|
||||
function f()
|
||||
{
|
||||
var x;
|
||||
var foo = "for (var z = 0; z < 2; ++z) { new Object(new String(this), x)}";
|
||||
foo.replace(/\n/g, " ");
|
||||
eval(foo);
|
||||
}
|
||||
f();
|
||||
|
||||
jit(false);
|
||||
|
||||
reportCompare(expect, actual, summary);
|
|
@ -0,0 +1,63 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Jesse Ruderman
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-460504.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 460504;
|
||||
var summary = 'Decompilation of genexp in for-loop condition';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
test();
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function test()
|
||||
{
|
||||
enterFunc ('test');
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
expect = 'function () { for(; x, (1 for each (y in [])); ) { } }';
|
||||
f = (function () { for(; x, (1 for each (y in [])); ) { } });
|
||||
actual = f + '';
|
||||
|
||||
compareSource(expect, actual, summary);
|
||||
|
||||
exitFunc ('test');
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Gary Kwong
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-452913.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 452913;
|
||||
var summary = 'Do not crash with defined getter and for (let)';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
(this.__defineGetter__("x", function (x)'foo'.replace(/o/g, [1].push)));
|
||||
for(let y in [,,,]) for(let y in [,,,]) x = x;
|
||||
|
||||
reportCompare(expect, actual, summary);
|
|
@ -0,0 +1,54 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Gary Kwong
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-481989.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 481989;
|
||||
var summary = 'TM: Do not assert: SPROP_HAS_STUB_SETTER(sprop)';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
jit(true);
|
||||
|
||||
y = this.watch("x", function(){}); for each (let y in ['', '']) x = y;
|
||||
|
||||
jit(true);
|
||||
|
||||
reportCompare(expect, actual, summary);
|
|
@ -0,0 +1,57 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Gary Kwong
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-482263.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 482263;
|
||||
var summary = 'TM: Do not assert: x->oprnd2() == lirbuf->sp || x->oprnd2() == gp_ins';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
jit(true);
|
||||
|
||||
__proto__.x getter= function () { return <y/>.([]) };
|
||||
for each (let x in []) { for each (let x in ['', '']) { } }
|
||||
|
||||
jit(true);
|
||||
|
||||
reportCompare(expect, actual, summary);
|
||||
|
||||
delete __proto__.x;
|
|
@ -0,0 +1,71 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Gary Kwong
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-479740.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 479740;
|
||||
var summary = 'TM: Do not crash @ TraceRecorder::test_property_cache';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
jit(true);
|
||||
|
||||
try
|
||||
{
|
||||
eval(
|
||||
' function f() {' +
|
||||
' for ( foobar in (function() {' +
|
||||
' for (var x = 0; x < 2; ++x) {' +
|
||||
' if (x % 2 == 1) { yield (this.z.z) = function(){} }' +
|
||||
' eval("this", false);' +
|
||||
' }' +
|
||||
' })());' +
|
||||
' function(){}' +
|
||||
' }' +
|
||||
' f();'
|
||||
);
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
}
|
||||
jit(false);
|
||||
|
||||
|
||||
reportCompare(expect, actual, summary);
|
|
@ -0,0 +1,65 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Gary Kwong
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gTestfile = 'regress-481800.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 481800;
|
||||
var summary = 'TM: Do not assert: (!lhs->isQuad() && !rhs->isQuad()) || (lhs->isQuad() && rhs->isQuad())';
|
||||
var actual = '';
|
||||
var expect = '';
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
test();
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function test()
|
||||
{
|
||||
enterFunc ('test');
|
||||
printBugNumber(BUGNUMBER);
|
||||
printStatus (summary);
|
||||
|
||||
jit(true);
|
||||
|
||||
for each (let x in ['', 0, 0, eval]) { y = x } ( function(){} );
|
||||
|
||||
jit(false);
|
||||
|
||||
reportCompare(expect, actual, summary);
|
||||
|
||||
exitFunc ('test');
|
||||
}
|
|
@ -234,7 +234,7 @@ function check(desc, actual, expected, oldJITstats, expectedJITstats)
|
|||
}
|
||||
});
|
||||
}
|
||||
print(desc, ": FAILED: expected", typeof(expected),
|
||||
print("TEST-UNEXPECTED-FAIL | trace-test.js |", desc, ": expected", typeof(expected),
|
||||
"(", uneval(expected), ")",
|
||||
(expectedStats ? " [" + expectedStats + "] " : ""),
|
||||
"!= actual",
|
||||
|
@ -1731,8 +1731,8 @@ function testNestedExitStackOuter() {
|
|||
testNestedExitStackOuter.expected = 81;
|
||||
testNestedExitStackOuter.jitstats = {
|
||||
recorderStarted: 5,
|
||||
recorderAborted: 2,
|
||||
traceTriggered: 11
|
||||
recorderAborted: 1,
|
||||
traceTriggered: 10
|
||||
};
|
||||
test(testNestedExitStackOuter);
|
||||
|
||||
|
@ -2637,9 +2637,9 @@ function testWeirdDateParse() {
|
|||
}
|
||||
testWeirdDateParse.expected = "11,17,2008,11,17,2008,11,17,2008,11,17,2008,11,17,2008";
|
||||
testWeirdDateParse.jitstats = {
|
||||
recorderStarted: 7,
|
||||
recorderStarted: 8,
|
||||
recorderAborted: 1,
|
||||
traceCompleted: 6,
|
||||
traceCompleted: 7,
|
||||
traceTriggered: 14,
|
||||
unstableLoopVariable: 3,
|
||||
noCompatInnerTrees: 1
|
||||
|
@ -4525,6 +4525,86 @@ function testLambdaCtor() {
|
|||
testLambdaCtor.expected = true;
|
||||
test(testLambdaCtor);
|
||||
|
||||
function testNonStubGetter() {
|
||||
let ([] = false) { (this.watch("x", /a/g)); };
|
||||
(function () { (eval("(function(){for each (x in [1, 2, 2]);});"))(); })();
|
||||
this.unwatch("x");
|
||||
return "ok";
|
||||
}
|
||||
testNonStubGetter.expected = "ok";
|
||||
test(testNonStubGetter);
|
||||
|
||||
function testString() {
|
||||
var q;
|
||||
for (var i = 0; i <= RUNLOOP; ++i) {
|
||||
q = [];
|
||||
q.push(String(void 0));
|
||||
q.push(String(true));
|
||||
q.push(String(5));
|
||||
q.push(String(5.5));
|
||||
q.push(String("5"));
|
||||
q.push(String([5]));
|
||||
}
|
||||
return q.join(",");
|
||||
}
|
||||
testString.expected = "undefined,true,5,5.5,5,5";
|
||||
testString.jitstats = {
|
||||
recorderStarted: 1,
|
||||
sideExitIntoInterpreter: 1
|
||||
};
|
||||
test(testString);
|
||||
|
||||
function testToStringBeforeValueOf()
|
||||
{
|
||||
var o = {toString: function() { return "s"; }, valueOf: function() { return "v"; } };
|
||||
var a = [];
|
||||
for (var i = 0; i < 10; i++)
|
||||
a.push(String(o));
|
||||
return a.join(",");
|
||||
}
|
||||
testToStringBeforeValueOf.expected = "s,s,s,s,s,s,s,s,s,s";
|
||||
testToStringBeforeValueOf.jitstats = {
|
||||
recorderStarted: 1,
|
||||
sideExitIntoInterpreter: 1
|
||||
};
|
||||
test(testToStringBeforeValueOf);
|
||||
|
||||
function testNullToString()
|
||||
{
|
||||
var a = [];
|
||||
for (var i = 0; i < 10; i++)
|
||||
a.push(String(null));
|
||||
for (i = 0; i < 10; i++) {
|
||||
var t = typeof a[i];
|
||||
if (t != "string")
|
||||
a.push(t);
|
||||
}
|
||||
return a.join(",");
|
||||
}
|
||||
testNullToString.expected = "null,null,null,null,null,null,null,null,null,null";
|
||||
testNullToString.jitstats = {
|
||||
recorderStarted: 2,
|
||||
sideExitIntoInterpreter: 2,
|
||||
recorderAborted: 0
|
||||
};
|
||||
test(testNullToString);
|
||||
|
||||
function testAddNull()
|
||||
{
|
||||
var rv;
|
||||
for (var x = 0; x < HOTLOOP + 1; ++x)
|
||||
rv = null + [,,];
|
||||
return rv;
|
||||
}
|
||||
testAddNull.expected = "null,";
|
||||
testAddNull.jitstats = {
|
||||
recorderStarted: 1,
|
||||
sideExitIntoInterpreter: 1,
|
||||
recorderAborted: 0
|
||||
};
|
||||
test(testAddNull);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* *
|
||||
* _____ _ _ _____ ______ _____ _______ *
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -142,6 +142,6 @@ js1_7/extensions/regress-353249.js
|
|||
js1_7/regress/regress-420399.js
|
||||
#
|
||||
js1_7/decompilation/regress-371802.js
|
||||
bug 446026
|
||||
# bug 446026
|
||||
js1_8/regress/regress-442333-01.js
|
||||
js1_6/Array/regress-320887.js
|
||||
|
|
|
@ -401,25 +401,45 @@ case $testtype in
|
|||
if ! grep -q $jsfile $excludetestsfile; then
|
||||
|
||||
version=`shellfileversion $jsfile`
|
||||
|
||||
|
||||
subsuitetestdir=`dirname $jsfile`
|
||||
suitetestdir=`dirname $subsuitetestdir`
|
||||
echo "JavaScriptTest: Begin Test $jsfile"
|
||||
if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile\" \
|
||||
$EXECUTABLE_DRIVER \
|
||||
$executable -v $version \
|
||||
-S 524288 \
|
||||
$gczealshell \
|
||||
$splitobjects \
|
||||
$jitshell \
|
||||
-f ./shell.js \
|
||||
-f $suitetestdir/shell.js \
|
||||
-f $subsuitetestdir/shell.js \
|
||||
-f ./$jsfile \
|
||||
-f ./js-test-driver-end.js; then
|
||||
true
|
||||
if [[ -z "$NARCISSUS" ]]; then
|
||||
if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile\" \
|
||||
$EXECUTABLE_DRIVER \
|
||||
$executable -v $version \
|
||||
-S 524288 \
|
||||
$gczealshell \
|
||||
$splitobjects \
|
||||
$jitshell \
|
||||
-f ./shell.js \
|
||||
-f $suitetestdir/shell.js \
|
||||
-f $subsuitetestdir/shell.js \
|
||||
-f ./$jsfile \
|
||||
-f ./js-test-driver-end.js; then
|
||||
true
|
||||
else
|
||||
rc=$?
|
||||
fi
|
||||
else
|
||||
rc=$?
|
||||
if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile\" \
|
||||
$EXECUTABLE_DRIVER \
|
||||
$executable -v $version \
|
||||
-S 524288 \
|
||||
$gczealshell \
|
||||
$splitobjects \
|
||||
$jitshell \
|
||||
-f $NARCISSUS \
|
||||
-e "evaluate\(\'load\(\\\"./shell.js\\\"\)\'\)" \
|
||||
-e "evaluate\(\'load\(\\\"$suitetestdir/shell.js\\\"\)\'\)" \
|
||||
-e "evaluate\(\'load\(\\\"$subsuitetestdir/shell.js\\\"\)\'\)" \
|
||||
-e "evaluate\(\'load\(\\\"./$jsfile\\\"\)\'\)" \
|
||||
-e "evaluate\(\'load\(\\\"./js-test-driver-end.js\\\"\)\'\)"; then
|
||||
true
|
||||
else
|
||||
rc=$?
|
||||
fi
|
||||
fi
|
||||
if [[ $rc == 99 ]]; then
|
||||
# note that this loop is executing in a sub-process
|
||||
|
|
|
@ -1,124 +0,0 @@
|
|||
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
|
||||
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
|
|
@ -73,6 +73,10 @@ if [[ -n "$TEST_MOZILLA_HG" ]]; then
|
|||
|
||||
cd $TEST_MOZILLA_HG_LOCAL
|
||||
hg pull
|
||||
if [[ "$OSID" == "nt" ]]; then
|
||||
# remove spurious lock file
|
||||
rm -f $TEST_MOZILLA_HG_LOCAL/.hg/wlock.lnk
|
||||
fi
|
||||
hg update -C
|
||||
echo "`hg root` id `hg id`"
|
||||
fi
|
||||
|
@ -89,6 +93,10 @@ if [[ -n "$TEST_MOZILLA_HG" ]]; then
|
|||
|
||||
cd mozilla
|
||||
hg pull
|
||||
if [[ "$OSID" == "nt" ]]; then
|
||||
# remove spurious lock file
|
||||
rm -f $TEST_MOZILLA_HG/.hg/wlock.lnk
|
||||
fi
|
||||
hg update -C
|
||||
|
||||
hg update -r $TEST_MOZILLA_HG_REV
|
||||
|
@ -182,7 +190,7 @@ case $product in
|
|||
|
||||
case $branch in
|
||||
1.9.1|1.9.2)
|
||||
|
||||
|
||||
# XXX need to generalize the mobile-browser repository
|
||||
if [[ ! -d mobile/.hg ]]; then
|
||||
if ! hg clone http://hg.mozilla.org/mobile-browser $BUILDTREE/mozilla/mobile; then
|
||||
|
@ -192,13 +200,17 @@ case $product in
|
|||
|
||||
cd mobile
|
||||
hg pull
|
||||
if [[ "$OSID" == "nt" ]]; then
|
||||
# remove spurious lock file
|
||||
rm -f .hg/wlock.lnk
|
||||
fi
|
||||
hg update -C
|
||||
|
||||
# XXX need to deal with mobile revisions from different repositories
|
||||
|
||||
cd ../
|
||||
|
||||
# do not use mozilla-build on windows systems as we
|
||||
# do not use mozilla-build on windows systems as we
|
||||
# must use the cygwin python with the cygwin mercurial.
|
||||
|
||||
if ! python client.py checkout; then
|
||||
|
|
|
@ -272,6 +272,11 @@ for step in step1; do # dummy loop for handling exits
|
|||
;;
|
||||
-jprof)
|
||||
;;
|
||||
-narcissus)
|
||||
export XCFLAGS="-DNARCISSUS=1"
|
||||
export CFLAGS="-DNARCISSUS=1"
|
||||
export CXXFLAGS="-DNARCISSUS=1"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ ! -d $BUILDTREE ]]; then
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
product=${product:-js}
|
||||
branch=${branch:-1.9.2}
|
||||
buildtype=${buildtype:-debug}
|
||||
jsshellsourcepath=${jsshellsourcepath:-/work/mozilla/builds/1.9.2-narcissus/mozilla/js/src}
|
||||
TEST_MOZILLA_HG=${TEST_MOZILLA_HG:-http://hg.mozilla.org/mozilla-central}
|
||||
TEST_MOZILLA_HG_REV=${TEST_MOZILLA_HG_REV:-tip}
|
||||
NARCISSUS=${narcissuspath:-/work/mozilla/builds/1.9.2-narcissus/mozilla/js/narcissus/js.js}
|
|
@ -0,0 +1,7 @@
|
|||
product=${product:-js}
|
||||
branch=${branch:-1.9.2}
|
||||
buildtype=${buildtype:-opt}
|
||||
jsshellsourcepath=${jsshellsourcepath:-/work/mozilla/builds/1.9.2-narcissus/mozilla/js/src}
|
||||
TEST_MOZILLA_HG=${TEST_MOZILLA_HG:-http://hg.mozilla.org/mozilla-central}
|
||||
TEST_MOZILLA_HG_REV=${TEST_MOZILLA_HG_REV:-tip}
|
||||
NARCISSUS=${narcissuspath:-/work/mozilla/builds/1.9.2-narcissus/mozilla/js/narcissus/js.js}
|
Загрузка…
Ссылка в новой задаче