Skip to content

No need for tags#494

Open
TApplencourt wants to merge 2 commits intodevelfrom
fix_test
Open

No need for tags#494
TApplencourt wants to merge 2 commits intodevelfrom
fix_test

Conversation

@TApplencourt
Copy link
Copy Markdown
Collaborator

The only trick is the
LTTNG_UST_OPENCL_LIBOPENCL=$(whichlib64 clinfo libOpenCL.so)

when the clinfo binary is not used directly.

@TApplencourt
Copy link
Copy Markdown
Collaborator Author

@thilinarmtb can we start the unit test on polaris / aurora? Do we have /start_polaris_test command already?
You told me you will test this PR on Polaris, and on Aurora so just pinging you :)
I can do it if you have no time, just tell me.

@thilinarmtb
Copy link
Copy Markdown
Contributor

Testing on Aurora now. I am running into disk quota issues on Polaris. I will try to run the tests from
the home directory on Polaris.

@thilinarmtb
Copy link
Copy Markdown
Contributor

On Aurora, fix_test has the following test output:

abnormal_usr_bin_exit.bats
 ✓ exit_code_propagated
 ✓ signaling_propagated_mpi
backend_itt.bats
 ✓ ITT (C): trace contains __itt_task_begin events
 ✓ ITT (Python, context manager): trace contains ITT task events
 ✓ ITT (Python, C-style): trace contains ITT task events
backend_mpi.bats
 ✓ backend_mpi_sanity_check
general.bats
 ✓ pkg-config_file
 ✓ default_summary
 ✓ json_summary
 ✓ archive_summary
 ✓ default_trace
 ✓ default_timeline
 ✓ replay_summary
 ✓ no-analysis_output
 ✓ stderr_output
 ✓ no-analysis_all
 ✓ trace-output_all
 ✓ timeline_output
 ✓ replay_negative
 ✓ error_code_when_no_trace
 ✓ read_stdin
parallel_execution.bats
 ✓ sync_daemon_fs
 ✓ iprof_fs
 ✓ sync_daemon_fs_launching_mpi_app
 ✓ sync_daemon_mpi
 ✓ iprof_mpi
 ✓ sync_daemon_mpi_launching_mpi_app
 ✓ iprof_mpi+traced_ranks
sampling.bats
 ✓ sampling_heartbeat
 ✓ sampling_cxi
whichlib64.bats
 ✓ usage: no arguments prints help and exits 1
 ✓ row 1: no sover, no DT_NEEDED, not findable → not found (exit 1)
 ✓ row 2: no sover, no DT_NEEDED, unversioned on disk → found (exit 0)
 ✓ row 4: no sover, DT_NEEDED unversioned → found (exit 0)
 ✓ row 5: no sover, DT_NEEDED versioned → warning (exit 2)
 ✓ row 6: sover 1, no DT_NEEDED, not findable → not found (exit 1)
 ✓ row 7: sover 1, no DT_NEEDED, unversioned on disk → found (exit 0)
 ✓ row 9: sover 1, DT_NEEDED unversioned → found (exit 0)
 ✓ row 10: sover 1, DT_NEEDED versioned matching → found (exit 0)
 ✓ row 11: sover 2, DT_NEEDED versioned mismatch → warning (exit 2)
 ✓ find_lib locates a library through a symlink
 ✓ find_lib skips a 32-bit library
 ✓ find_lib skips a 32-bit library via dlopen
 ✓ find_lib handles nonexistent binary
 ✓ find_lib handles binary that is not an ELF
 ✓ find_lib resolves $ORIGIN in rpath
 ✓ find_lib prefers rpath over LD_LIBRARY_PATH
 ✗ find_lib resolves DT_NEEDED soname via dlopen when no rpath
   (from function `build_foo_no_rpath' in file integration_tests/whichlib64.bats, line 28,
    in test file integration_tests/whichlib64.bats, line 173)
     `build_foo_no_rpath' failed with status 127
   /home/thilina/performance/thapi/thapi/integration_tests/whichlib64.bats: line 28: patchelf: command not found
 ✓ find_lib locates a library via LD_LIBRARY_PATH (no rpath)
 ✓ no_soversion_check resolves symlink when rpath finds unversioned name
 ✓ version_check resolves symlink when rpath finds unversioned name
 ✗ dlopen preserves SONAME filename when actual file has deeper version
   (from function `build_foo_no_rpath' in file integration_tests/whichlib64.bats, line 28,
    in test file integration_tests/whichlib64.bats, line 207)
     `build_foo_no_rpath' failed with status 127
   /home/thilina/performance/thapi/thapi/integration_tests/whichlib64.bats: line 28: patchelf: command not found
 ✓ find_lib resolves bare binary name via PATH
 ✗ dlopen preserves symlinked directory in path (no rpath)
   (in test file integration_tests/whichlib64.bats, line 226)
     `patchelf --remove-rpath "$BATS_TEST_TMPDIR/foo"' failed with status 127
   /home/thilina/performance/thapi/thapi/integration_tests/whichlib64.bats: line 226: patchelf: command not found
 ✗ cache lookup matches ldconfig for system library
   (in test file integration_tests/whichlib64.bats, line 233)
     `patchelf --remove-rpath "$BATS_TEST_TMPDIR/noop"' failed with status 127
   /home/thilina/performance/thapi/thapi/integration_tests/whichlib64.bats: line 233: patchelf: command not found
 ✓ find_lib with bare name not in PATH falls back to dlopen
 ✓ find_lib resolves library via DT_RPATH (--disable-new-dtags)
 ✓ find_lib finds library in second entry of colon-separated LD_LIBRARY_PATH
 ✗ search_default_paths reached with versioned DT_NEEDED, no rpath, no LD_LIBRARY_PATH
   (from function `build_foo_no_rpath' in file integration_tests/whichlib64.bats, line 28,
    in test file integration_tests/whichlib64.bats, line 266)
     `build_foo_no_rpath' failed with status 127
   /home/thilina/performance/thapi/thapi/integration_tests/whichlib64.bats: line 28: patchelf: command not found
 ✓ multiple libs: one line per lib, mixed found and not-found
 ✓ multiple libs: all found
 ✓ find_lib locates library via ldconfig conf paths
 ✓ find_lib locates versioned-only library via glob fallback (no binary)
 ✗ find_lib locates versioned library via ldconfig conf paths with DT_NEEDED
   (in test file integration_tests/whichlib64.bats, line 319)
     `patchelf --remove-rpath "$BATS_TEST_TMPDIR/foo"' failed with status 127
   /home/thilina/performance/thapi/thapi/integration_tests/whichlib64.bats: line 319: patchelf: command not found

64 tests, 6 failures

@TApplencourt
Copy link
Copy Markdown
Collaborator Author

Make sense, we should skip them if no patchelf binary is found.

@thilinarmtb
Copy link
Copy Markdown
Contributor

Same story on Polaris:

abnormal_usr_bin_exit.bats                                                                                                                                                                                                                                        20:34:47 [22/9259]
 ✓ exit_code_propagated
 ✓ signaling_propagated_mpi
backend_itt.bats
 ✓ ITT (C): trace contains __itt_task_begin events
 ✓ ITT (Python, context manager): trace contains ITT task events
 ✓ ITT (Python, C-style): trace contains ITT task events
backend_mpi.bats
 ✓ backend_mpi_sanity_check
general.bats
 ✓ pkg-config_file
 ✓ default_summary
 ✓ json_summary
 ✓ archive_summary
 ✓ default_trace
 ✓ default_timeline
 ✓ replay_summary
 ✓ no-analysis_output
 ✓ stderr_output
 ✓ no-analysis_all
 ✓ trace-output_all
 ✓ timeline_output
 ✓ replay_negative
 ✓ error_code_when_no_trace
 ✓ read_stdin
parallel_execution.bats
 ✓ sync_daemon_fs
 ✓ iprof_fs
 ✓ sync_daemon_fs_launching_mpi_app
 ✓ iprof_mpi+traced_ranks
sampling.bats
 ✓ sampling_heartbeat
 ✓ sampling_cxi
whichlib64.bats
 ✓ usage: no arguments prints help and exits 1
 ✓ row 1: no sover, no DT_NEEDED, not findable → not found (exit 1)
 ✓ row 2: no sover, no DT_NEEDED, unversioned on disk → found (exit 0)
 ✓ row 4: no sover, DT_NEEDED unversioned → found (exit 0)
 ✓ row 5: no sover, DT_NEEDED versioned → warning (exit 2)
 ✓ row 6: sover 1, no DT_NEEDED, not findable → not found (exit 1)
 ✓ row 7: sover 1, no DT_NEEDED, unversioned on disk → found (exit 0)
 ✓ row 9: sover 1, DT_NEEDED unversioned → found (exit 0)
 ✓ row 10: sover 1, DT_NEEDED versioned matching → found (exit 0)
 ✓ row 11: sover 2, DT_NEEDED versioned mismatch → warning (exit 2)
 ✓ find_lib locates a library through a symlink
 ✓ find_lib skips a 32-bit library
 ✓ find_lib skips a 32-bit library via dlopen
 ✓ find_lib handles nonexistent binary
 ✓ find_lib handles binary that is not an ELF
 ✓ find_lib resolves $ORIGIN in rpath
 ✓ find_lib prefers rpath over LD_LIBRARY_PATH
 ✗ find_lib resolves DT_NEEDED soname via dlopen when no rpath
   (from function `build_foo_no_rpath' in file integration_tests/whichlib64.bats, line 28,
    in test file integration_tests/whichlib64.bats, line 173)
     `build_foo_no_rpath' failed with status 127
   /home/thilina/EnergyApps/thapi/thapi/integration_tests/whichlib64.bats: line 28: patchelf: command not found
 ✓ find_lib locates a library via LD_LIBRARY_PATH (no rpath)
 ✓ no_soversion_check resolves symlink when rpath finds unversioned name
 ✓ version_check resolves symlink when rpath finds unversioned name
 ✗ dlopen preserves SONAME filename when actual file has deeper version
   (from function `build_foo_no_rpath' in file integration_tests/whichlib64.bats, line 28,
    in test file integration_tests/whichlib64.bats, line 207)
     `build_foo_no_rpath' failed with status 127
   /home/thilina/EnergyApps/thapi/thapi/integration_tests/whichlib64.bats: line 28: patchelf: command not found
 ✓ find_lib resolves bare binary name via PATH
 ✗ dlopen preserves symlinked directory in path (no rpath)
   (in test file integration_tests/whichlib64.bats, line 226)
     `patchelf --remove-rpath "$BATS_TEST_TMPDIR/foo"' failed with status 127
   /home/thilina/EnergyApps/thapi/thapi/integration_tests/whichlib64.bats: line 226: patchelf: command not found
 ✗ cache lookup matches ldconfig for system library
   (in test file integration_tests/whichlib64.bats, line 233)
     `patchelf --remove-rpath "$BATS_TEST_TMPDIR/noop"' failed with status 127
   /home/thilina/EnergyApps/thapi/thapi/integration_tests/whichlib64.bats: line 233: patchelf: command not found
 ✓ find_lib with bare name not in PATH falls back to dlopen
 ✓ find_lib resolves library via DT_RPATH (--disable-new-dtags)
 ✓ find_lib finds library in second entry of colon-separated LD_LIBRARY_PATH
 ✗ search_default_paths reached with versioned DT_NEEDED, no rpath, no LD_LIBRARY_PATH
   (from function `build_foo_no_rpath' in file integration_tests/whichlib64.bats, line 28,
    in test file integration_tests/whichlib64.bats, line 266)
     `build_foo_no_rpath' failed with status 127
   /home/thilina/EnergyApps/thapi/thapi/integration_tests/whichlib64.bats: line 28: patchelf: command not found
 ✓ multiple libs: one line per lib, mixed found and not-found
 ✓ multiple libs: all found
 ✓ find_lib locates library via ldconfig conf paths
 ✓ find_lib locates versioned-only library via glob fallback (no binary)
 ✗ find_lib locates versioned library via ldconfig conf paths with DT_NEEDED
   (in test file integration_tests/whichlib64.bats, line 319)
     `patchelf --remove-rpath "$BATS_TEST_TMPDIR/foo"' failed with status 127
   /home/thilina/EnergyApps/thapi/thapi/integration_tests/whichlib64.bats: line 319: patchelf: command not found

61 tests, 6 failures

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants