Skip to content

Commit e7a48b4

Browse files
committed
Swift: add a test case for symlinks
1 parent 8af2138 commit e7a48b4

File tree

9 files changed

+71
-0
lines changed

9 files changed

+71
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*/Sources/A.swift
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
| file://:0:0:0:0 | |
2+
| main.swift:0:0:0:0 | main.swift |
3+
| preserve/Package.swift:0:0:0:0 | preserve/Package.swift |
4+
| resolve/Package.swift:0:0:0:0 | resolve/Package.swift |
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import swift
2+
3+
from File f
4+
select f
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
public struct preserve {
2+
public private(set) var text = "Hello, World!"
3+
4+
public init() {
5+
}
6+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// swift-tools-version: 5.7
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "preserve",
8+
products: [
9+
.library(
10+
name: "preserve",
11+
targets: ["preserve"]),
12+
],
13+
targets: [
14+
.target(
15+
name: "preserve",
16+
path: "Sources"),
17+
]
18+
)

swift/integration-tests/posix-only/symlinks/preserve/Sources/.gitkeep

Whitespace-only changes.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// swift-tools-version: 5.7
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "resolve",
8+
products: [
9+
.library(
10+
name: "resolve",
11+
targets: ["resolve"]),
12+
],
13+
targets: [
14+
.target(
15+
name: "resolve",
16+
path: "Sources"),
17+
]
18+
)

swift/integration-tests/posix-only/symlinks/resolve/Sources/.gitkeep

Whitespace-only changes.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from create_database_utils import *
2+
import os
3+
4+
symlinks = ['preserve/Sources/A.swift', 'resolve/Sources/A.swift']
5+
6+
for s in symlinks:
7+
try:
8+
os.symlink(os.getcwd() + '/main.swift', s)
9+
except:
10+
pass
11+
12+
run_codeql_database_create([
13+
'swift package clean --package-path resolve',
14+
'swift build --package-path resolve',
15+
'swift package clean --package-path preserve',
16+
'env CODEQL_PRESERVE_SYMLINKS=true swift build --package-path preserve'
17+
], lang='swift', keep_trap=True)
18+
19+
for s in symlinks:
20+
os.unlink(s)

0 commit comments

Comments
 (0)