Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
coverage_report.CoverageExecutor Class Reference
+ Collaboration diagram for coverage_report.CoverageExecutor:

Public Member Functions

 __init__ (self, parser, args)
 
 check_output (self, args, dry_run=False, env=None)
 
 call (self, args, dry_run=False, env=None)
 
 call_silent (self, args, dry_run=False, env=None)
 
 calculate_coverage_tests (self, args)
 
 build_binaries (self)
 
 generate_coverage (self, name, spec)
 
 merge_raw_coverage_results (self)
 
 generate_html_report (self)
 
 run (self)
 
 fetch_profiling_tools (self)
 

Public Attributes

 dry_run = args['dry_run']
 
 verbose = args['verbose']
 
 source_directory = args['source_directory']
 
 llvm_directory
 
 build_directory = args['build_directory']
 
 coverage_tests
 
 build_targets
 
 use_goma
 
 output_directory = args['output_directory']
 
 prof_data = os.path.join(self.output_directory, 'pdfium.profdata')
 
list use_goma = ['-j', '250']
 
list verbose = [spec.binary]
 

Detailed Description

Definition at line 66 of file coverage_report.py.

Constructor & Destructor Documentation

◆ __init__()

coverage_report.CoverageExecutor.__init__ ( self,
parser,
args )
Initialize executor based on the current script environment

Args:
    parser: argparse.ArgumentParser for handling improper inputs.
    args: Dictionary of arguments passed into the calling script.

Definition at line 68 of file coverage_report.py.

Member Function Documentation

◆ build_binaries()

coverage_report.CoverageExecutor.build_binaries ( self)
Build all the binaries that are going to be needed for coverage
generation.

Definition at line 180 of file coverage_report.py.

Referenced by coverage_report.CoverageExecutor.run().

+ Here is the caller graph for this function:

◆ calculate_coverage_tests()

coverage_report.CoverageExecutor.calculate_coverage_tests ( self,
args )

◆ call()

coverage_report.CoverageExecutor.call ( self,
args,
dry_run = False,
env = None )
Dry run aware wrapper of subprocess.call()

Definition at line 132 of file coverage_report.py.

References print(), coverage_report.CoverageExecutor.verbose, CppGenerator.verbose, EvalHandler.verbose, Options.verbose, QWindowsContext.verbose, and RCCResourceLibrary.verbose().

Referenced by coverage_report.CoverageExecutor.generate_html_report(), and coverage_report.CoverageExecutor.merge_raw_coverage_results().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ call_silent()

coverage_report.CoverageExecutor.call_silent ( self,
args,
dry_run = False,
env = None )
Dry run aware wrapper of subprocess.call() that eats output from call

Definition at line 144 of file coverage_report.py.

References open(), print(), coverage_report.CoverageExecutor.verbose, CppGenerator.verbose, EvalHandler.verbose, Options.verbose, QWindowsContext.verbose, and RCCResourceLibrary.verbose().

Referenced by coverage_report.CoverageExecutor.fetch_profiling_tools().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_output()

coverage_report.CoverageExecutor.check_output ( self,
args,
dry_run = False,
env = None )
Dry run aware wrapper of subprocess.check_output()

Definition at line 120 of file coverage_report.py.

References print(), coverage_report.CoverageExecutor.verbose, CppGenerator.verbose, EvalHandler.verbose, Options.verbose, QWindowsContext.verbose, and RCCResourceLibrary.verbose().

+ Here is the call graph for this function:

◆ fetch_profiling_tools()

coverage_report.CoverageExecutor.fetch_profiling_tools ( self)
Call coverage.py with no args to ensure profiling tools are present.

Definition at line 297 of file coverage_report.py.

References coverage_report.CoverageExecutor.call_silent(), and coverage_report.CoverageExecutor.source_directory.

Referenced by coverage_report.CoverageExecutor.run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ generate_coverage()

coverage_report.CoverageExecutor.generate_coverage ( self,
name,
spec )
Generate the coverage data for a test

Args:
    name: Name associated with the test to be run. This is used as a label
          in the coverage data, so should be unique across all of the tests
          being run.
    spec: Tuple containing the TestSpec.

Definition at line 190 of file coverage_report.py.

Referenced by coverage_report.CoverageExecutor.run().

+ Here is the caller graph for this function:

◆ generate_html_report()

coverage_report.CoverageExecutor.generate_html_report ( self)
Generate HTML report by calling upstream coverage.py

Definition at line 244 of file coverage_report.py.

References coverage_report.CoverageExecutor.build_directory, coverage_report.CoverageExecutor.build_targets, coverage_report.CoverageExecutor.call(), QDBusAbstractInterface.call(), QDBusAbstractInterface.call(), QDBusAbstractInterface.call(), QDBusAbstractInterface.call(), QDBusConnection.call(), QJSManagedValue.call(), QJSValue.call(), QPlatformIntegration.call(), QQmlThread::Message.call(), QSSGSceneDesc::Property.call, QSSGSceneDesc::PropertyListSetter< Ret, Class, Arg >.call, QSSGSceneDesc::PropertyProxySetter< Ret, Arg >.call, QSSGSceneDesc::PropertySetter< Ret, Class, Arg >.call, QtPrivate::BindingFunctionVTable.call, QtPrivate::FunctionPointer< Ret(*)(Args...) noexcept >.call(), QtPrivate::FunctionPointer< Ret(*)(Args...)>.call(), QtPrivate::FunctionPointer< Ret(Obj::*)(Args...) const >.call(), QtPrivate::FunctionPointer< Ret(Obj::*)(Args...) const noexcept >.call(), QtPrivate::FunctionPointer< Ret(Obj::*)(Args...) noexcept >.call(), QtPrivate::FunctionPointer< Ret(Obj::*)(Args...)>.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, Function >.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, SlotRet(Obj::*)(SlotArgs...) const >.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, SlotRet(Obj::*)(SlotArgs...) const noexcept >.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, SlotRet(Obj::*)(SlotArgs...) noexcept >.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, SlotRet(Obj::*)(SlotArgs...)>.call(), QtPrivate::FunctorCallable< Func, Args >.call(), QtPrivate::QSlotObjectBase.call(), QV4::Function.call(), QV4::Function.call(), QV4::FunctionObject.call(), QV4::FunctionObject.call(), QV4::FunctionObject.call(), QV4::QmlSignalHandler.call(), QV4::Runtime::Add.call(), QV4::Runtime::ArrayLiteral.call(), QV4::Runtime::As.call(), QV4::Runtime::BitAnd.call(), QV4::Runtime::BitOr.call(), QV4::Runtime::BitXor.call(), QV4::Runtime::CallGlobalLookup.call(), QV4::Runtime::CallName.call(), QV4::Runtime::CallPossiblyDirectEval.call(), QV4::Runtime::CallProperty.call(), QV4::Runtime::CallPropertyLookup.call(), QV4::Runtime::CallQmlContextPropertyLookup.call(), QV4::Runtime::CallValue.call(), QV4::Runtime::CallWithReceiver.call(), QV4::Runtime::CallWithSpread.call(), QV4::Runtime::CloneBlockContext.call(), QV4::Runtime::Closure.call(), QV4::Runtime::CompareEqual.call(), QV4::Runtime::CompareGreaterEqual.call(), QV4::Runtime::CompareGreaterThan.call(), QV4::Runtime::CompareIn.call(), QV4::Runtime::CompareInstanceof.call(), QV4::Runtime::CompareLessEqual.call(), QV4::Runtime::CompareLessThan.call(), QV4::Runtime::CompareNotEqual.call(), QV4::Runtime::CompareStrictEqual.call(), QV4::Runtime::CompareStrictNotEqual.call(), QV4::Runtime::Construct.call(), QV4::Runtime::ConstructWithSpread.call(), QV4::Runtime::ConvertThisToObject.call(), QV4::Runtime::CreateClass.call(), QV4::Runtime::CreateMappedArgumentsObject.call(), QV4::Runtime::CreateRestParameter.call(), QV4::Runtime::CreateUnmappedArgumentsObject.call(), QV4::Runtime::DeclareVar.call(), QV4::Runtime::DeleteName.call(), QV4::Runtime::DeleteName_NoThrow.call(), QV4::Runtime::DeleteProperty.call(), QV4::Runtime::DeleteProperty_NoThrow.call(), QV4::Runtime::DestructureRestElement.call(), QV4::Runtime::Div.call(), QV4::Runtime::Equal.call(), QV4::Runtime::Exp.call(), QV4::Runtime::GetIterator.call(), QV4::Runtime::GetLookup.call(), QV4::Runtime::GetTemplateObject.call(), QV4::Runtime::GreaterEqual.call(), QV4::Runtime::GreaterThan.call(), QV4::Runtime::In.call(), QV4::Runtime::Instanceof.call(), QV4::Runtime::IteratorClose.call(), QV4::Runtime::IteratorNext.call(), QV4::Runtime::IteratorNextForYieldStar.call(), QV4::Runtime::LessEqual.call(), QV4::Runtime::LessThan.call(), QV4::Runtime::LoadElement.call(), QV4::Runtime::LoadGlobalLookup.call(), QV4::Runtime::LoadName.call(), QV4::Runtime::LoadProperty.call(), QV4::Runtime::LoadQmlContextPropertyLookup.call(), QV4::Runtime::LoadSuperConstructor.call(), QV4::Runtime::LoadSuperProperty.call(), QV4::Runtime::MarkCustom.call(), QV4::Runtime::Mod.call(), QV4::Runtime::Mul.call(), QV4::Runtime::NotEqual.call(), QV4::Runtime::ObjectLiteral.call(), QV4::Runtime::PopScriptContext.call(), QV4::Runtime::PushBlockContext.call(), QV4::Runtime::PushCallContext.call(), QV4::Runtime::PushCatchContext.call(), QV4::Runtime::PushScriptContext.call(), QV4::Runtime::PushWithContext.call(), QV4::Runtime::RegexpLiteral.call(), QV4::Runtime::SetLookupSloppy.call(), QV4::Runtime::SetLookupStrict.call(), QV4::Runtime::Shl.call(), QV4::Runtime::Shr.call(), QV4::Runtime::StoreElement.call(), QV4::Runtime::StoreNameSloppy.call(), QV4::Runtime::StoreNameStrict.call(), QV4::Runtime::StoreProperty.call(), QV4::Runtime::StoreSuperProperty.call(), QV4::Runtime::StrictEqual.call(), QV4::Runtime::StrictNotEqual.call(), QV4::Runtime::Sub.call(), QV4::Runtime::TailCall.call(), QV4::Runtime::ThrowException.call(), QV4::Runtime::ThrowOnNullOrUndefined.call(), QV4::Runtime::ThrowReferenceError.call(), QV4::Runtime::ToBoolean.call(), QV4::Runtime::ToNumber.call(), QV4::Runtime::ToObject.call(), QV4::Runtime::TypeofName.call(), QV4::Runtime::TypeofValue.call(), QV4::Runtime::UMinus.call(), QV4::Runtime::UShr.call(), QV4::VTable.call, QV4L2FileDescriptor.call(), coverage_report.CoverageExecutor.output_directory, coverage_report.CoverageExecutor.prof_data, and coverage_report.CoverageExecutor.source_directory.

Referenced by coverage_report.CoverageExecutor.run().

+ Here is the caller graph for this function:

◆ merge_raw_coverage_results()

coverage_report.CoverageExecutor.merge_raw_coverage_results ( self)
Merge raw coverage data sets into one one file for report generation.

Definition at line 230 of file coverage_report.py.

References coverage_report.CoverageExecutor.call(), QDBusAbstractInterface.call(), QDBusAbstractInterface.call(), QDBusAbstractInterface.call(), QDBusAbstractInterface.call(), QDBusConnection.call(), QJSManagedValue.call(), QJSValue.call(), QPlatformIntegration.call(), QQmlThread::Message.call(), QSSGSceneDesc::Property.call, QSSGSceneDesc::PropertyListSetter< Ret, Class, Arg >.call, QSSGSceneDesc::PropertyProxySetter< Ret, Arg >.call, QSSGSceneDesc::PropertySetter< Ret, Class, Arg >.call, QtPrivate::BindingFunctionVTable.call, QtPrivate::FunctionPointer< Ret(*)(Args...) noexcept >.call(), QtPrivate::FunctionPointer< Ret(*)(Args...)>.call(), QtPrivate::FunctionPointer< Ret(Obj::*)(Args...) const >.call(), QtPrivate::FunctionPointer< Ret(Obj::*)(Args...) const noexcept >.call(), QtPrivate::FunctionPointer< Ret(Obj::*)(Args...) noexcept >.call(), QtPrivate::FunctionPointer< Ret(Obj::*)(Args...)>.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, Function >.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, SlotRet(Obj::*)(SlotArgs...) const >.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, SlotRet(Obj::*)(SlotArgs...) const noexcept >.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, SlotRet(Obj::*)(SlotArgs...) noexcept >.call(), QtPrivate::FunctorCall< std::index_sequence< II... >, List< SignalArgs... >, R, SlotRet(Obj::*)(SlotArgs...)>.call(), QtPrivate::FunctorCallable< Func, Args >.call(), QtPrivate::QSlotObjectBase.call(), QV4::Function.call(), QV4::Function.call(), QV4::FunctionObject.call(), QV4::FunctionObject.call(), QV4::FunctionObject.call(), QV4::QmlSignalHandler.call(), QV4::Runtime::Add.call(), QV4::Runtime::ArrayLiteral.call(), QV4::Runtime::As.call(), QV4::Runtime::BitAnd.call(), QV4::Runtime::BitOr.call(), QV4::Runtime::BitXor.call(), QV4::Runtime::CallGlobalLookup.call(), QV4::Runtime::CallName.call(), QV4::Runtime::CallPossiblyDirectEval.call(), QV4::Runtime::CallProperty.call(), QV4::Runtime::CallPropertyLookup.call(), QV4::Runtime::CallQmlContextPropertyLookup.call(), QV4::Runtime::CallValue.call(), QV4::Runtime::CallWithReceiver.call(), QV4::Runtime::CallWithSpread.call(), QV4::Runtime::CloneBlockContext.call(), QV4::Runtime::Closure.call(), QV4::Runtime::CompareEqual.call(), QV4::Runtime::CompareGreaterEqual.call(), QV4::Runtime::CompareGreaterThan.call(), QV4::Runtime::CompareIn.call(), QV4::Runtime::CompareInstanceof.call(), QV4::Runtime::CompareLessEqual.call(), QV4::Runtime::CompareLessThan.call(), QV4::Runtime::CompareNotEqual.call(), QV4::Runtime::CompareStrictEqual.call(), QV4::Runtime::CompareStrictNotEqual.call(), QV4::Runtime::Construct.call(), QV4::Runtime::ConstructWithSpread.call(), QV4::Runtime::ConvertThisToObject.call(), QV4::Runtime::CreateClass.call(), QV4::Runtime::CreateMappedArgumentsObject.call(), QV4::Runtime::CreateRestParameter.call(), QV4::Runtime::CreateUnmappedArgumentsObject.call(), QV4::Runtime::DeclareVar.call(), QV4::Runtime::DeleteName.call(), QV4::Runtime::DeleteName_NoThrow.call(), QV4::Runtime::DeleteProperty.call(), QV4::Runtime::DeleteProperty_NoThrow.call(), QV4::Runtime::DestructureRestElement.call(), QV4::Runtime::Div.call(), QV4::Runtime::Equal.call(), QV4::Runtime::Exp.call(), QV4::Runtime::GetIterator.call(), QV4::Runtime::GetLookup.call(), QV4::Runtime::GetTemplateObject.call(), QV4::Runtime::GreaterEqual.call(), QV4::Runtime::GreaterThan.call(), QV4::Runtime::In.call(), QV4::Runtime::Instanceof.call(), QV4::Runtime::IteratorClose.call(), QV4::Runtime::IteratorNext.call(), QV4::Runtime::IteratorNextForYieldStar.call(), QV4::Runtime::LessEqual.call(), QV4::Runtime::LessThan.call(), QV4::Runtime::LoadElement.call(), QV4::Runtime::LoadGlobalLookup.call(), QV4::Runtime::LoadName.call(), QV4::Runtime::LoadProperty.call(), QV4::Runtime::LoadQmlContextPropertyLookup.call(), QV4::Runtime::LoadSuperConstructor.call(), QV4::Runtime::LoadSuperProperty.call(), QV4::Runtime::MarkCustom.call(), QV4::Runtime::Mod.call(), QV4::Runtime::Mul.call(), QV4::Runtime::NotEqual.call(), QV4::Runtime::ObjectLiteral.call(), QV4::Runtime::PopScriptContext.call(), QV4::Runtime::PushBlockContext.call(), QV4::Runtime::PushCallContext.call(), QV4::Runtime::PushCatchContext.call(), QV4::Runtime::PushScriptContext.call(), QV4::Runtime::PushWithContext.call(), QV4::Runtime::RegexpLiteral.call(), QV4::Runtime::SetLookupSloppy.call(), QV4::Runtime::SetLookupStrict.call(), QV4::Runtime::Shl.call(), QV4::Runtime::Shr.call(), QV4::Runtime::StoreElement.call(), QV4::Runtime::StoreNameSloppy.call(), QV4::Runtime::StoreNameStrict.call(), QV4::Runtime::StoreProperty.call(), QV4::Runtime::StoreSuperProperty.call(), QV4::Runtime::StrictEqual.call(), QV4::Runtime::StrictNotEqual.call(), QV4::Runtime::Sub.call(), QV4::Runtime::TailCall.call(), QV4::Runtime::ThrowException.call(), QV4::Runtime::ThrowOnNullOrUndefined.call(), QV4::Runtime::ThrowReferenceError.call(), QV4::Runtime::ToBoolean.call(), QV4::Runtime::ToNumber.call(), QV4::Runtime::ToObject.call(), QV4::Runtime::TypeofName.call(), QV4::Runtime::TypeofValue.call(), QV4::Runtime::UMinus.call(), QV4::Runtime::UShr.call(), QV4::VTable.call, QV4L2FileDescriptor.call(), coverage_report.CoverageExecutor.llvm_directory, coverage_report.CoverageExecutor.output_directory, and coverage_report.CoverageExecutor.prof_data.

Referenced by coverage_report.CoverageExecutor.run().

+ Here is the caller graph for this function:

◆ run()

coverage_report.CoverageExecutor.run ( self)
Setup environment, execute the tests and generate coverage report

Definition at line 272 of file coverage_report.py.

References coverage_report.CoverageExecutor.build_binaries(), coverage_report.CoverageExecutor.coverage_tests, coverage_report.CoverageExecutor.fetch_profiling_tools(), coverage_report.CoverageExecutor.generate_coverage(), coverage_report.CoverageExecutor.generate_html_report(), coverage_report.CoverageExecutor.merge_raw_coverage_results(), and print().

+ Here is the call graph for this function:

Member Data Documentation

◆ build_directory

coverage_report.CoverageExecutor.build_directory = args['build_directory']

◆ build_targets

coverage_report.CoverageExecutor.build_targets

◆ coverage_tests

coverage_report.CoverageExecutor.coverage_tests

Definition at line 92 of file coverage_report.py.

Referenced by coverage_report.CoverageExecutor.run().

◆ dry_run

coverage_report.CoverageExecutor.dry_run = args['dry_run']

Definition at line 75 of file coverage_report.py.

◆ llvm_directory

coverage_report.CoverageExecutor.llvm_directory
Initial value:
= os.path.join(self.source_directory, 'third_party',
'llvm-build', 'Release+Asserts', 'bin')

Definition at line 82 of file coverage_report.py.

Referenced by coverage_report.CoverageExecutor.merge_raw_coverage_results().

◆ output_directory

coverage_report.CoverageExecutor.output_directory = args['output_directory']

◆ prof_data

coverage_report.CoverageExecutor.prof_data = os.path.join(self.output_directory, 'pdfium.profdata')

◆ source_directory

◆ use_goma [1/2]

coverage_report.CoverageExecutor.use_goma
Initial value:
= common.GetBooleanGnArg('use_goma', self.build_directory,
self.verbose)

Definition at line 105 of file coverage_report.py.

◆ use_goma [2/2]

list coverage_report.CoverageExecutor.use_goma = ['-j', '250']

Definition at line 184 of file coverage_report.py.

◆ verbose [1/2]

coverage_report.CoverageExecutor.verbose = args['verbose']

◆ verbose [2/2]

list coverage_report.CoverageExecutor.verbose = [spec.binary]

The documentation for this class was generated from the following file: