llvm-project/libcxx/test/selftest/remote-substitutions.sh.cpp
Nikolas Klauser b173c12b54
[libc++] Make libcxx/selftest a top-level test directory (#144852)
These tests aren't actually libc++-specific for the most part. They test
the testsuite, so they aren't tied to any implementation. That means
anybody using the testsuite should be able to run these tests
successfully.

The most notable changes are that
- `test/libcxx/selftest/modules` moved to `test/libcxx/modules`, since
the assumptions these tests check are libc++-specific
- there is a new `lit.local.cfg` for `test/selftest`
- `selftest/dsl/dsl.sh.py` was modified since the path to the monorepo
root changed
2025-07-02 21:47:26 +02:00

33 lines
1.2 KiB
C++

//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
// XFAIL: LIBCXX-FREEBSD-FIXME
// Make sure that test-executables can appear in RUN lines and be executed
// effectively. This somewhat difficult-to-understand test checks that when
// we run with a remote executor, test-executables are copied to the remote
// host and their path is fixed up (directly in the command-line) to their
// path on the remote host instead of the local host.
//
// We also check that the path of test-executables is replaced whether they
// appear first in the command-line or not.
// UNSUPPORTED: executor-has-no-bash
// RUN: %{cxx} %s %{flags} %{compile_flags} %{link_flags} -o %t.exe
// RUN: %{exec} %t.exe 0
// RUN: %{exec} bash -c '! %t.exe 1'
#include <cassert>
#include <cstdlib>
int main(int argc, char** argv) {
assert(argc == 2);
int ret = std::atoi(argv[1]);
return ret;
}