text: #!/usr/bin/python
  
  # Copyright 2003 Dave Abrahams 
  # Copyright 2006 Rene Rivera 
  # Copyright 2003 Vladimir Prus 
  # Distributed under the Boost Software License, Version 1.0. 
  # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
  
  import BoostBuild
  import os
  import re
  
  spaces_re = re.compile("\ \ +")
  trailing_spaces_re = re.compile("\ +\n")
  
  t = BoostBuild.Tester("-d+1", pass_toolset=0)
  
  t.set_tree('module-actions')
  
  #   Note that the following string contains some trailing spaces that should not
  # be removed.
  expected_output = """...found 4 targets...
  ...updating 3 targets...
  A.act t1
  A.act t1: X1-t1   
  B.act t1
  B.act t1: X1-t1 X2-B  
  act t1
  act t1: X1-t1 X2-global X3-global 
  A.act t2
  A.act t2: X1-A X2-t2  
  B.act t2
  B.act t2:  X2-t2  
  act t2
  act t2: X1-global X2-t2 X3-global 
  A.act t3
  A.act t3: X1-A  X3-t3 
  B.act t3
  B.act t3:  X2-B X3-t3 
  act t3
  act t3: X1-global X2-global X3-t3 
  ...updated 3 targets...
  """
  
  # On Unixes, call to 'echo 1     2      3' produces '1 2 3' (note the spacing)
  # Accomodate for that fact.
  if os.name != 'nt':
      expected_output = re.sub(spaces_re, " ", expected_output)
      expected_output = re.sub(trailing_spaces_re, "\n", expected_output)
  
  t.run_build_system(stdout=expected_output)
  t.expect_nothing_more()
  t.cleanup()
  