mozilla
Your Search Results

    XPCshell Test Manifest Expressions

    XPCShell unit tests are run by specifying them in a manifest file. You can add conditions to tests in order to control when tests get run. The conditions accept a simple boolean expression syntax, described here.

    Operators

    In order of decreasing precedence:

    • ()
    • == !=
    • &&
    • ||

    Literal Values

    • Booleans: the literal strings true and false.

    • Integers: A series of contiguous digits. Only decimal integers are supported.

    • Strings: any series of characters enclosed in double quotes " or single quotes '. No escape sequences are supported.

    Variables

    Variables are supported as a series of letters, digits or underscores beginning with a letter or an underscore. There are a fixed set of variables provided by the test harness via mozinfo.py, with many of the values initialized at configure time by writemozinfo.py which writes mozinfo.json into the root of the build directory.

    • os - The operating system on which the test is being run
      • One of: 'win', 'mac', 'linux', 'android'
    • toolkit - The graphics toolkit used by this build
      • One of: 'windows', 'cocoa', 'gtk2', 'android'
    • processor - The CPU which the code is compiled for
      • One of: 'x86', 'x86_64', 'arm'
    • bits - The pointer size of the CPU architecture, in bits
      • One of 32, 64, possibly unknown
    • debug - Set to true if this build is a debug build, false otherwise
    • crashreporter - Set to true if this build has crash reporting code enabled, false otherwise.

    Comments

    If an expression contains a # (pound/hash) character outside of a string, the character and the rest of the line will be treated as a comment.  This is useful as the entire line will generally be reported whenever tests are reported as being skipped, meaning the comment as well as the expression itself will appear in any logs where this is reported.

    Document Tags and Contributors

    Tags: 
    Contributors to this page: Sheppy, MattBrubeck, Ted_Mielczarek, AndrewSutherland, Markh
    Last updated by: Markh,