Home | History | Annotate | Download | only in testing
      1 Writing Unit and Rendering Tests
      2 ================================
      3 
      4 Writing a Unit Test
      5 -------------------
      6 
      7 1.  Add a file `tests/NewUnitTest.cpp`:
      8 
      9     <!--?prettify lang=cc?-->
     10 
     11         /*
     12          * Copyright ........
     13          *
     14          * Use of this source code is governed by a BSD-style license
     15          * that can be found in the LICENSE file.
     16          */
     17         #include "Test.h"
     18         DEF_TEST(NewUnitTest, reporter) {
     19             if (1 + 1 != 2) {
     20                 ERRORF(reporter, "%d + %d != %d", 1, 1, 2);
     21             }
     22             bool lifeIsGood = true;
     23             REPORTER_ASSERT(reporter, lifeIsGood);
     24         }
     25 
     26 2.  Add a line to `gyp/tests.gypi`:
     27 
     28         '../tests/NewUnitTest.cpp',
     29 
     30 3.  Recompile and run test:
     31 
     32         ./gyp_skia
     33         ninja -C out/Debug dm
     34         out/Debug/dm --match NewUnitTest
     35 
     36 Writing a Rendering Test
     37 ------------------------
     38 
     39 1.  Add a file `gm/newgmtest.cpp`:
     40 
     41     <!--?prettify lang=cc?-->
     42 
     43         /*
     44          * Copyright ........
     45          *
     46          * Use of this source code is governed by a BSD-style license
     47          * that can be found in the LICENSE file.
     48          */
     49         #include "gm.h"
     50         DEF_SIMPLE_GM(newgmtest, canvas, 128, 128) {
     51             canvas->clear(SK_ColorWHITE);
     52             SkPaint p;
     53             p.setStrokeWidth(2);
     54             canvas->drawLine(16, 16, 112, 112, p);
     55         }
     56 
     57 2.  Add a line to `gyp/gmslides.gypi`:
     58 
     59         '../gm/newgmtest.cpp',
     60 
     61 3.  Recompile and run test:
     62 
     63         ./gyp_skia
     64         ninja -C out/Debug dm
     65         out/Debug/dm --match newgmtest
     66 
     67 4.  Run the GM inside SampleApp:
     68 
     69         ./gyp_skia
     70         ninja -C out/Debug SampleApp
     71         out/Debug/SampleApp --slide GM:newgmtest
     72 
     73     On MacOS, try this:
     74 
     75         out/Debug/SampleApp.app/Contents/MacOS/SampleApp --slide GM:newgmtest
     76