PointCloudLibrary / PointCloudLibrary/pcl

[GPU] Tests need several hacks to compile

Open
#3,631 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind: todo module: gpu
Dominant language
C++
Stars
11.1k
Forks
4.7k
Avg merge
4d 10h
Merged PRs (30d)
6

Description

I did some hacks to run it on my side

Such as?

It's expected that GTest is bundled, which is no longer true:

Sources are collected but not used anywhere:

I see that PCL using PCL_ADD_TEST wrapper for add_test. It can't be used
there because it needs custom tests target:

Which is created here:

Since subdirectory gpu will be processed before subdirectory test this target will not be available:

Path to tested *.pcd file is hardcoded:

Tested file office_chair_model.pcd is missing:

I found it, put it in the root folder and have to run the test from there, without using CTest.

I did some trivial tweaks to fix few places but most of the tests failing even without patch. List of tests I have to exclude:

PCL_FeaturesGPU.PrincipalCurvatures
PCL_FeaturesGPU.pfh_high_level1
PCL_FeaturesGPU.pfh_high_level2
PCL_FeaturesGPU.pfh_high_level3
PCL_FeaturesGPU.pfh_high_level4
PCL_FeaturesGPU.pfh_low_level
PCL_FeaturesGPU.pfhrgb
PCL_FeaturesGPU.ppf
PCL_FeaturesGPU.ppfrgb
PCL_FeaturesGPU.vfh1
PCL_FeaturesGPU.vfh_fill_size_component_true
PCL_FeaturesGPU.vfh_norm_bins_false
PCL_FeaturesGPU.vfh_norm_distance_true

Originally posted by @ruslo in https://github.com/PointCloudLibrary/pcl/pull/3627#issuecomment-582896648

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect gpu/features/test/CMakeLists.txt, gpu/features/test/data_source.hpp, cmake/pcl_targets.cmake, and the top-level CMakeLists.txt. Run the GPU feature tests through CTest and use the listed missing file, target-order, and failing-test details as checks; done means the tests configure and run without manual hacks or exclusions.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.