1# -*- python -*-
2# Copyright (c) 2012 The Chromium Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6Import('env')
7
8pm_rd_obj = env.ComponentObject('pm_redir_test.o',
9                                'pm_redir_test.cc')
10pm_rd_nexe_name = env.ProgramNameForNmf('pm_redir_test')
11pm_rd_nexe = env.ComponentProgram(pm_rd_nexe_name,
12                                  pm_rd_obj,
13                                  EXTRA_LIBS=['weak_ref',
14                                              'ppapi_cpp',
15                                              'pthread',
16                                              'platform',
17                                              'gio',
18                                              ])
19env.Publish(pm_rd_nexe_name, 'run',
20            ['pm_redir_test.html'])
21
22for (ostr, thr, delay_us, envar) in [
23  ('stdout', 'fg', '0', 'NACL_EXE_STDOUT=DEBUG_ONLY:dev://postmessage'),
24  ('stderr', 'fg', '0', 'NACL_EXE_STDERR=DEBUG_ONLY:dev://postmessage'),
25  ('stdout', 'bg', '0', 'NACL_EXE_STDOUT=DEBUG_ONLY:dev://postmessage'),
26  ('stderr', 'bg', '0', 'NACL_EXE_STDERR=DEBUG_ONLY:dev://postmessage'),
27  #  1 millisecond
28  ('stdout', 'fg', '1000', 'NACL_EXE_STDOUT=DEBUG_ONLY:dev://postmessage'),
29  ('stderr', 'fg', '1000', 'NACL_EXE_STDERR=DEBUG_ONLY:dev://postmessage'),
30  ('stdout', 'bg', '1000', 'NACL_EXE_STDOUT=DEBUG_ONLY:dev://postmessage'),
31  ('stderr', 'bg', '1000', 'NACL_EXE_STDERR=DEBUG_ONLY:dev://postmessage'),
32  #  1 second
33  ('stdout', 'fg', '1000000', 'NACL_EXE_STDOUT=DEBUG_ONLY:dev://postmessage'),
34  ('stderr', 'fg', '1000000', 'NACL_EXE_STDERR=DEBUG_ONLY:dev://postmessage'),
35  ('stdout', 'bg', '1000000', 'NACL_EXE_STDOUT=DEBUG_ONLY:dev://postmessage'),
36  ('stderr', 'bg', '1000000', 'NACL_EXE_STDERR=DEBUG_ONLY:dev://postmessage'),
37  #  5 seconds -- disabled so we don't make the bots slow...
38  # ('stdout', 'fg', '5000000', 'NACL_EXE_STDOUT=DEBUG_ONLY:dev://postmessage'),
39  # ('stderr', 'fg', '5000000', 'NACL_EXE_STDERR=DEBUG_ONLY:dev://postmessage'),
40  # ('stdout', 'bg', '5000000', 'NACL_EXE_STDOUT=DEBUG_ONLY:dev://postmessage'),
41  # ('stderr', 'bg', '5000000', 'NACL_EXE_STDERR=DEBUG_ONLY:dev://postmessage'),
42  ]:
43
44  node = env.PPAPIBrowserTester(
45    'pm_redir_'+ ostr + '_' + thr + '_' + delay_us + '_test.out',
46    url='pm_redir_test.html',
47    nmf_names=['pm_redir_test'],
48    files=env.ExtractPublishedFiles(pm_rd_nexe_name),
49    # args=['--debug'], # debug turns on srpc-level output, also on stdout
50    test_args=[('stream', ostr), ('thread', thr), ('delay_us', delay_us)],
51    # nacl_exe_stdout='DEBUG_ONLY:dev://postmessage'
52    osenv=[envar])
53
54  env.AddNodeToTestSuite(node,
55                         ['chrome_browser_tests'],
56                         ('run_pm_redir_' + ostr + '_' + thr +
57                          '_' + delay_us + '_chrome_browser_test'),
58                         is_broken=env.PPAPIBrowserTesterIsBroken())
59