mozilla

Compare Revisions

GTest

Change Revisions

Revision 360215:

Revision 360215 by bgirard on

Revision 431369:

Revision 431369 by bgirard on

Title:
GTest
GTest
Slug:
GTest
GTest
Content:

Revision 360215
Revision 431369
nn10    <h3>
11      Integration
12    </h3>
13    <p>
14      GTest are ran part of the build job on Mac/Linux and coming
 > soon to Windows (Bug 883339). Search for 'rungtest'.
15    </p>
n14      The Mozilla build process will build GTest on supported plan20      The Mozilla build process will build GTest on supported pla
>tforms if you specify 'ac_add_options --enable-gtest'. This will >tforms. This will compile and link any GTEST_{CPP|C|CMM}SRCS to t
>compile and link any GTEST_{CPP|C|CMM}SRCS to libxul.so. To run t>oolkit/library/{lib}gtest/{lib}xul{.so|.dll|}. To run the unit te
>he unit tests specify -unittest when invoking Gecko, optionally r>sts use 'mach gtest' when invoking Gecko. To run under a debug us
>unning from a debugger.>e the same steps to debug firefox but export 'MOZ_RUN_GTEST'
nn22    <div class="warning">
23      <p>
24        Don't forget to build + run 'mach gtest' to relink when u
 >sing MOZ_RUN_GTEST since it's not part of a top level build!
25      </p>
26    </div>
n20      Tests can be selected by using the 'GTEST_FILTER' environmen31      Tests can be selected using mach. You can also use environm
>nt variable. See <a href="http://code.google.com/p/googletest/wik>ent variables support by GTest. See <a href="http://code.google.c
>i/AdvancedGuide#Running_a_Subset_of_the_Tests" title="/en-US/docs>om/p/googletest/wiki/AdvancedGuide#Running_a_Subset_of_the_Tests"
>/">Running Test Programs: Running_a_Subset_of_the_Tests</a> for m> title="/en-US/docs/">Running Test Programs: Running_a_Subset_of_
>ore details.>the_Tests</a> for more details.
n23GTEST_FILTER=Moz2D.* ./firefox -unittestn34mach gtest Moz2D.*
tt65      Find a gtest directory appropriate for the module. If none 
 >exist create a directory using the following convention 'testt/gt
 >est'. Create a moz.build file with a module declaration:
66    </p>
67    <div class="note">
68      <p>
69        # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: 
 >nil; tab-width: 40 -*-<br>
70        # vim: set filetype=python:<br>
71        # This Source Code Form is subject to the terms of the Mo
 >zilla Public<br>
72        # License, v. 2.0. If a copy of the MPL was not distribut
 >ed with this<br>
73        # file, You can obtain one at http://mozilla.org/MPL/2.0/
 >.<br>
74        <br>
75        MODULE = 'gfxtest'
76      </p>
77    </div>
78    <p>
79      Then create a Makefile with the following. Replace MODULE_N
 >AME/LIBRARY_NAME/GTEST_CPPSRCS:
80    </p>
81    <div class="note">
82      <p>
83        #<br>
84        # This Source Code Form is subject to the terms of the Mo
 >zilla Public<br>
85        # License, v. 2.0. If a copy of the MPL was not distribut
 >ed with this<br>
86        # file, You can obtain one at http://mozilla.org/MPL/2.0/
 >.<br>
87        <br>
88        DEPTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
 >p; = @DEPTH@<br>
89        topsrcdir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = @top_srcdir@<br
 >>
90        srcdir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 
 >@srcdir@<br>
91        VPATH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
 >p; = @srcdir@<br>
92        relativesrcdir = @relativesrcdir@<br>
93        <br>
94        include $(DEPTH)/config/autoconf.mk<br>
95        <br>
96        # Create a GTest library<br>
97        MODULE_NAME&nbsp;&nbsp;&nbsp; = gfxtest<br>
98        LIBRARY_NAME&nbsp;&nbsp; = gfxtest<br>
99        LIBXUL_LIBRARY = 1<br>
100        IS_COMPONENT&nbsp;&nbsp; = 1<br>
101        EXPORT_LIBRARY = 1<br>
102        <br>
103        GTEST_CPPSRCS = \<br>
104        &nbsp; &lt;ListTestFiles&gt; \<br>
105        &nbsp; $(NULL)<br>
106        <br>
107        include $(topsrcdir)/config/rules.mk
108      </p>
109    </div>
110    <p>
111      Update the moz.build in the parent directory to build your 
 >new sub directory:
112    </p>
113    <div class="note">
114      <p>
115        if CONFIG['ENABLE_TESTS']:<br>
116        &nbsp;&nbsp;&nbsp; DIRS += ['tests/gtest']
117      </p>
118    </div>
119    <p>
54      Add the following to your Makefile. That's it, there is no 120      When adding tests to an exist Makefile add the following. T
>test manifest required. Your tests will be automatically register>hat's it, there is no test manifest required. Your tests will be 
>ed using a static constructor.>automatically registered using a static constructor.

Back to History