File: legacy-driver-propagates-response-file-to-new-driver.swift

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (17 lines) | stat: -rw-r--r-- 884 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Verify that when the legacy driver (swift-frontend executable invoked as
// swiftc) spawns the new driver, it passes the original arguments (i.e.,
// preserving response files) instead of trying to spawn the process with the
// expansion, which may exceed `ARG_MAX`.

// REQUIRES: shell
// RUN: %{python} -c 'for i in range(500001): print("-DTEST5_" + str(i))' > %t.resp
// RUN: cp %S/Inputs/print-args.sh %swift-bin-dir/legacy-driver-propagates-response-file.sh
// RUN: env SWIFT_OVERLOAD_DRIVER=legacy-driver-propagates-response-file.sh %swiftc_driver_plain -disallow-use-new-driver %s @%t.resp | %FileCheck %s
// RUN: rm %swift-bin-dir/legacy-driver-propagates-response-file.sh

// CHECK:      -Xfrontend
// CHECK-NEXT: -new-driver-path
// CHECK-NEXT: -Xfrontend
// CHECK-NEXT: legacy-driver-propagates-response-file.sh
// CHECK:      @{{.*}}.resp
// CHECK-NOT:  -DTEST5_{{.*}}