Skip to content

roottest should not pollute source directory with build artifacts #19208

Open
@guitargeek

Description

@guitargeek

Description

Migrating the following Jira ticket to give it more visibility:
https://its.cern.ch/jira/browse/ROOT-9972

Since roottest was merged into the main ROOT repo, it's not so painful to work on these kind of tickets.

Also, I got bitten by this problem 2 days ago when compiling and testing the same ROOT source twice, to compare different Python versions.

Reproducer

  • build ROOT with testing=ON and roottest=ON
  • run ctest -j<N> . in the root_build/roottest directory

You will see that while running the tests, artifacts will come and go in your source directory, like this lock and ACLiC stuff:

        roottest/root/io/event/bigeventTest.write.lock/
	roottest/cling/reflex/iotype_rflxdriver_ACLiC_dict.cxx
	roottest/cling/reflex/iotype_rflxdriver_ACLiC_linkdef.h
	roottest/cling/reflex/iotype_rflxdriver_ACLiC_mainC
	roottest/cling/reflex/iotype_rflxdriver_ACLiC_map.in
	roottest/cling/reflex/iotype_rflxdriver_ACLiC_map.out
	roottest/cling/template/separateDictNamespace/libslave2_ACLiC_dict.cxx
	roottest/cling/template/separateDictNamespace/libslave2_ACLiC_linkdef.h
	roottest/cling/template/separateDictNamespace/libslave2_ACLiC_mainC
	roottest/cling/template/separateDictNamespace/libslave2_ACLiC_map.in
	roottest/cling/template/separateDictNamespace/libslave2_ACLiC_map.out

It's hard to get the full list, because these files get created and deletes as the tests run. I think it's only locks and ACLiC though. But this should all happen in the build directory, such that multiple builds from the same source can be concurrently tested.
dsaf

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions