original_docstring: Pseudo-builder for test program to handle platform-dependent type.
  
    Args:
      self: Environment in which we were called.
      prog_name: Test program name.
      args: Positional arguments.
      kwargs: Keyword arguments.
  
    Returns:
      Output node list from env.Program().
    
docstring: Pseudo-builder for test program to handle platform-dependent type.
docstring_tokens: Pseudo - builder for test program to handle platform - dependent type .
code: def ComponentTestProgram(self, prog_name, *args, **kwargs):
    """Pseudo-builder for test program to handle platform-dependent type.
  
    Args:
      self: Environment in which we were called.
      prog_name: Test program name.
      args: Positional arguments.
      kwargs: Keyword arguments.
  
    Returns:
      Output node list from env.Program().
    """
    # Clone and modify environment
    env = _ComponentPlatformSetup(self, 'ComponentTestProgram', **kwargs)
  
    env['PROGRAM_BASENAME'] = prog_name
    env['PROGRAM_NAME'] = '$PROGPREFIX$PROGRAM_BASENAME$PROGSUFFIX'
  
    # Call env.Program()
    out_nodes = env.Program(prog_name, *args, **kwargs)
  
    # Add dependencies on includes
    env.Depends(out_nodes, env['INCLUDES'])
  
    # Publish output
    env.Publish(prog_name, 'run', out_nodes[0])
    env.Publish(prog_name, 'debug', out_nodes[1:])
  
    # Add an alias to build the program to the right groups
    a = env.Alias(prog_name, out_nodes)
    for group in env['COMPONENT_TEST_PROGRAM_GROUPS']:
      SCons.Script.Alias(group, a)
  
    # Store list of components for this program
    env._StoreComponents(prog_name)
  
    # Let component_targets know this target is available in the current mode
    env.SetTargetProperty(prog_name, TARGET_PATH=out_nodes[0])
  
    # Set up deferred call to replicate resources and run test
    env.Defer(ComponentTestProgramDeferred)
  
    # Return the output node
    return out_nodes
code_tokens: def ComponentTestProgram ( self , prog_name , * args , ** kwargs ) : env = _ComponentPlatformSetup ( self , 'ComponentTestProgram' , ** kwargs ) env [ 'PROGRAM_BASENAME' ] = prog_name env [ 'PROGRAM_NAME' ] = '$PROGPREFIX$PROGRAM_BASENAME$PROGSUFFIX' out_nodes = env . Program ( prog_name , * args , ** kwargs ) env . Depends ( out_nodes , env [ 'INCLUDES' ] ) env . Publish ( prog_name , 'run' , out_nodes [ 0 ] ) env . Publish ( prog_name , 'debug' , out_nodes [ 1 : ] ) a = env . Alias ( prog_name , out_nodes ) for group in env [ 'COMPONENT_TEST_PROGRAM_GROUPS' ] : SCons . Script . Alias ( group , a ) env . _StoreComponents ( prog_name ) env . SetTargetProperty ( prog_name , TARGET_PATH = out_nodes [ 0 ] ) env . Defer ( ComponentTestProgramDeferred ) return out_nodes
short_docstring: Pseudo-builder for test program to handle platform-dependent type.
short_docstring_tokens: Pseudo - builder for test program to handle platform - dependent type .
comment: """Pseudo-builder for test program to handle platform-dependent type.
  
    Args:
      self: Environment in which we were called.
      prog_name: Test program name.
      args: Positional arguments.
      kwargs: Keyword arguments.
  
    Returns:
      Output node list from env.Program().
    """$SEP$# Clone and modify environment$SEP$# Call env.Program()$SEP$# Add dependencies on includes$SEP$# Publish output$SEP$# Add an alias to build the program to the right groups$SEP$# Store list of components for this program$SEP$# Let component_targets know this target is available in the current mode$SEP$# Set up deferred call to replicate resources and run test$SEP$# Return the output node