Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PyROOT][ROOT-10294] Reuse TEnum to get its underlying type #132

Closed
wants to merge 40 commits into from

Conversation

smuzaffar
Copy link

No description provided.

jblomer and others added 30 commits August 27, 2019 00:22
Provide also entry in release notes
Use unique_ptr<TXMLEngine> as holder
Clarifies ownership of this elements
Not really used, but keep it here for compatibility
When using cppyy from ROOT, many symbols coming from ROOT
libraries can be found when running dir(cppyy.gbl).

In order to obtain such list of symbols, cppyy scans the
rootmap files. This allows tab-completion before classes are
even loaded, let alone bound.

This change sets a variable so that the symbols in Core, IO,
Thread and MathCore are not cleaned up by cppyy.
etejedor and others added 10 commits August 28, 2019 13:14
This is the default value in the current PyROOT, which has changed
in Cppyy.
RemoveAt relies on Remove, which at its turn applies IsEqual to
find the element it needs to remove. If there are two elements in
the list that are equal, Remove just removes the first it finds,
not the one with the specified index.
Now experimental PyROOT, as the old PyROOT, has kMemoryHeuristics
as default memory policy for arguments of callables. Thus, the
ownership is automatically transferred from Python to C++ for
non-const pointer arguments.
This patch is to be merged into ROOT (modulo some modifications
to cover cases that are still failing):
https://bitbucket.org/wlav/cppyy-backend/src/master/cling/patches/using_decls.diff

Without that patch, Cppyy does not automatically add to a class
the method overloads that come from a 'using' statement.

In the meantime, this commit adds a pythonisation that is
needed for RooDataHist to see the overloads it is using from
RooAbsData. Once the more general solution is implemented in the
bindings, this pythonisation will be removed.
As pointed out in ROOT-10294, when using the CMSSW environment,
the lookup of an enum constant in the list of attributes of
the namespace does not succeed.

This commit passes on the TEnum obtained when creating the
namespace proxy to the addition of the enum constants as
properties of the namespace, so that the underlying type of
the enum can be taken from the TEnum, and therefore we
avoid the lookup in the list of attributes of the namespace.
@smuzaffar
Copy link
Author

smuzaffar commented Aug 30, 2019

please test for CMSSW_11_0_ROOT6_X

@cmsbuild
Copy link

A new Pull Request was created by @smuzaffar (Malik Shahzad Muzaffar) for branch cms/master/f579155.

@cmsbuild, @smuzaffar, @mrodozov can you please review it and eventually sign? Thanks.
cms-bot commands are listed here

@cmsbuild
Copy link

cmsbuild commented Aug 30, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/2276/console Started: 2019/08/30 15:06

@smuzaffar
Copy link
Author

closing it, this has already been merged in to root master and cms-sw/cmsdist#5186 includes it.

@smuzaffar smuzaffar closed this Aug 30, 2019
@cmsbuild
Copy link

-1

Tested at: 1c0341f

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3e09c3/2276/summary.html

I found follow errors while testing this PR

Failed tests: Build

  • Build:

I found compilation error when building:

>> Compiling  /build/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_ROOT6_X_2019-08-29-2300/src/Utilities/StaticAnalyzers/src/ClassDumper.cpp 
>> Compiling  /build/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_ROOT6_X_2019-08-29-2300/src/Utilities/StaticAnalyzers/src/ThrUnsafeFCallChecker.cpp 
>> Compiling  /build/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_ROOT6_X_2019-08-29-2300/src/Utilities/StaticAnalyzers/src/ClangCmsCheckerPluginRegister.cpp 
>> Compiling  /build/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_ROOT6_X_2019-08-29-2300/src/Utilities/StaticAnalyzers/src/CmsSupport.cpp 
>> Compiling  /build/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_ROOT6_X_2019-08-29-2300/src/Utilities/StaticAnalyzers/src/StaticLocalChecker.cpp 
/build/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_ROOT6_X_2019-08-29-2300/src/Utilities/StaticAnalyzers/src/ClangCmsCheckerPluginRegister.cpp:27:10: fatal error: clang/StaticAnalyzer/Core/CheckerRegistry.h: No such file or directory
 #include 
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
>> Compiling  /build/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_ROOT6_X_2019-08-29-2300/src/Utilities/StaticAnalyzers/src/CatchAll.cpp 
>> Compiling  /build/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_ROOT6_X_2019-08-29-2300/src/Utilities/StaticAnalyzers/src/GlobalStaticChecker.cpp 


@cmsbuild
Copy link

Comparison not run due to Build errors (RelVals and Igprof tests were also skipped)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants