-
Notifications
You must be signed in to change notification settings - Fork 520
/
RestoreSpecs.fs
99 lines (83 loc) · 3.56 KB
/
RestoreSpecs.fs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
module Paket.IntegrationTests.RestoreSpec
open System
open System.IO
open Fake
open NUnit.Framework
open FsUnit
open Paket
open Paket.Utils
[<Test>]
let ``#2496 Paket fails on projects that target multiple frameworks``() =
let project = "EmptyTarget"
let scenario = "i002496"
prepareSdk scenario
let wd = (scenarioTempPath scenario) @@ project
directDotnet true (sprintf "restore %s.csproj" project) wd
|> ignore
[<Test>]
#if NETCOREAPP2_0
[<Ignore("use an api of FakeLib (net40) unsupported on .net core")>]
#endif
let ``#2812 Lowercase package names in package cache: old csproj, packages folder enabled``() =
let scenario = "i002812-old-csproj-storage-default"
let projectName = "project"
let packageName = "AutoMapper"
let packageNameLowercase = packageName.ToLower()
let workingDir = scenarioTempPath scenario
let csprojFile = workingDir @@ projectName @@ sprintf "%s.csproj" projectName
let packagesDir = workingDir @@ "packages"
[ packageName; packageNameLowercase ] |> Seq.iter clearPackage
prepareSdk scenario
directPaket "restore" scenario |> ignore
isPackageCachedWithOnlyLowercaseNames packageName |> shouldEqual true
packagesDir
|> Directory.GetDirectories
|> Array.map Path.GetFileName
|> shouldEqual [| packageName |]
MSBuildRelease "" "Build" [ csprojFile ] |> ignore
[<Test>]
let ``#2812 Lowercase package names in package cache: new csproj, packages folder enabled``() =
let scenario = "i002812-new-csproj-storage-default"
let projectName = "project"
let packageName = "AutoMapper"
let packageNameLowercase = packageName.ToLower()
let workingDir = scenarioTempPath scenario
let projectDir = workingDir @@ projectName
let emptyFeedPath = workingDir @@ "emptyFeed"
let packagesDir = workingDir @@ "packages"
[ packageName; packageNameLowercase ] |> Seq.iter clearPackage
prepareSdk scenario
directPaket "restore" scenario |> ignore
isPackageCachedWithOnlyLowercaseNames packageName |> shouldEqual true
packagesDir
|> Directory.GetDirectories
|> Array.map Path.GetFileName
|> shouldEqual [| packageName |]
directDotnet false (sprintf "restore --source \"%s\"" emptyFeedPath) projectDir |> ignore
directDotnet false "build --no-restore" projectDir |> ignore
[<Test>]
let ``#2812 Lowercase package names in package cache: new csproj, packages folder disabled``() =
let scenario = "i002812-new-csproj-storage-default"
let projectName = "project"
let packageName = "AutoMapper"
let packageNameLowercase = packageName.ToLower()
let workingDir = scenarioTempPath scenario
let projectDir = workingDir @@ projectName
let emptyFeedPath = workingDir @@ "emptyFeed"
[ packageName; packageNameLowercase ] |> Seq.iter clearPackage
prepareSdk scenario
directPaket "restore" scenario |> ignore
isPackageCachedWithOnlyLowercaseNames packageName |> shouldEqual true
directDotnet false (sprintf "restore --source \"%s\"" emptyFeedPath) projectDir |> ignore
directDotnet false "build --no-restore" projectDir |> ignore
[<Test>]
let ``#3000-a dotnet restore``() =
let scenario = "i003000-netcoreapp2"
let projectName = "c1"
let packageName = "AutoMapper"
let workingDir = scenarioTempPath scenario
let projectDir = workingDir @@ projectName
[ packageName; (packageName.ToLower()) ] |> Seq.iter clearPackage
prepareSdk scenario
directDotnet false "restore" projectDir |> ignore
directDotnet false "build --no-restore" projectDir |> ignore