text: /*=========================================================================
  
    Program:   ParaView
    Module:    vtkSMTesting.h
  
    Copyright (c) Kitware, Inc.
    All rights reserved.
    See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
  
       This software is distributed WITHOUT ANY WARRANTY; without even
       the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
       PURPOSE.  See the above copyright notice for more information.
  
  =========================================================================*/
  /**
   * @class   vtkSMTesting
   * @brief   vtkTesting adaptor for Server Manager.
   * .DESCRIPTION
   * This provides helper methods to use view proxy for testing.
   * This is also required for python testing, since when SM is python wrapped,
   * VTK need not by python wrapped, hence we cannot use vtkTesting in python
   * testing.
  */
  
  #ifndef vtkSMTesting_h
  #define vtkSMTesting_h
  
  #include "vtkRemotingMiscModule.h" //needed for exports
  #include "vtkSMObject.h"
  
  class vtkSMViewProxy;
  class vtkTesting;
  
  class VTKREMOTINGMISC_EXPORT vtkSMTesting : public vtkSMObject
  {
  public:
    static vtkSMTesting* New();
    vtkTypeMacro(vtkSMTesting, vtkSMObject);
    void PrintSelf(ostream& os, vtkIndent indent) override;
  
    /**
     * Set/get the render module proxy.
     */
    void SetViewProxy(vtkSMViewProxy* view);
  
    /**
     * API for backwards compatibility. Simply calls SetViewProxy(..).
     */
    void SetRenderViewProxy(vtkSMViewProxy* proxy) { this->SetViewProxy(proxy); }
  
    /**
     * Add argument
     */
    virtual void AddArgument(const char* arg);
  
    /**
     * Perform the actual test.
     */
    virtual int RegressionTest(float thresh);
  
  protected:
    vtkSMTesting();
    ~vtkSMTesting() override;
  
    vtkSMViewProxy* ViewProxy;
    vtkTesting* Testing;
  
  private:
    vtkSMTesting(const vtkSMTesting&) = delete;
    void operator=(const vtkSMTesting&) = delete;
  };
  #endif
  