Skip to content

Commit e8216da

Browse files
authored
Add tests for older versions of vibe-core (#215)
1 parent 87f0233 commit e8216da

24 files changed

+427
-123
lines changed

.travis.yml

Lines changed: 139 additions & 88 deletions
Large diffs are not rendered by default.

ci_setup.d

Lines changed: 38 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ import std.file;
22
import std.process;
33
import std.stdio : writeln;
44

5-
bool envBool(string name)
5+
string envGet(string name)
66
{
7-
return environment.get(name, null) == "true";
7+
return environment.get(name, null);
88
}
99

10-
string envGet(string name)
10+
bool envBool(string name)
1111
{
12-
return environment.get(name, null);
12+
return environment.get(name, null) == "true";
1313
}
1414

1515
void copyIfExists(string from, string to)
@@ -30,41 +30,51 @@ int main()
3030

3131
// MySQL is not installed by default on OSX build agents
3232
auto mysqlPrefix = "";
33-
if(environment["TRAVIS_OS_NAME"] == "osx")
33+
if(environment["TRAVIS_OS_NAME"] == "osx")
3434
{
35-
if(envGet("DB") == "mysql-5.6")
36-
{
37-
spawnShell("brew update").wait;
38-
spawnShell("brew install [email protected] && brew services start mysql56").wait;
39-
mysqlPrefix = "/usr/local/opt/[email protected]/bin/";
40-
}
41-
else if(envGet("DB") == "mysql-latest")
42-
{
43-
spawnShell("brew update").wait;
44-
spawnShell("brew install mysql && brew services start mysql").wait;
45-
}
46-
else
47-
{
48-
writeln("Envar 'DB' must be 'mysql-5.6' or 'mysql-latest', not '", envGet("DB"), "'");
49-
return 1;
50-
}
35+
if(envGet("DB") == "mysql-5.6")
36+
{
37+
spawnShell("brew update").wait;
38+
spawnShell("brew install [email protected] && brew services start mysql56").wait;
39+
mysqlPrefix = "/usr/local/opt/[email protected]/bin/";
40+
}
41+
else if(envGet("DB") == "mysql-latest")
42+
{
43+
spawnShell("brew update").wait;
44+
spawnShell("brew install mysql && brew services start mysql").wait;
45+
}
46+
else
47+
{
48+
writeln("Envar 'DB' must be 'mysql-5.6' or 'mysql-latest', not '", envGet("DB"), "'");
49+
return 1;
50+
}
5151
}
5252

53-
// If an alternate dub.selections.json was requested, use it.
54-
if(environment.get("DUB_SELECT") != null) {
53+
// Use the requested version of dub.selections.json.
54+
if(envGet("DUB_SELECT") != null)
55+
{
5556
string dubSelections = "dub.selections."~envGet("DUB_SELECT")~".json";
5657
writeln("Using alternative dub dependencies file: ", dubSelections);
5758
copy(dubSelections, "dub.selections.json");
5859
copy("examples/homePage/dub.selections."~envGet("DUB_SELECT")~".json", "examples/homePage/dub.selections.json");
5960
}
61+
else if(!envBool("NO_VIBE") && !envBool("DUB_UPGRADE"))
62+
{
63+
writeln("ERROR: All travis jobs must specify one of the following environment variables:");
64+
writeln(" DUB_SELECT=... *or* DUB_UPGRADE=true *or* NO_VIBE=true.");
65+
return 1;
66+
}
6067

68+
// Download (and maybe upgrade) DUB dependencies
69+
//
70+
// Doing this here, instead of when "dub test" is run later,
71+
// ensures that any intermittent server
72+
// failures are more likely to be correctly marked as "job error"
73+
// rather than "tests failed".
6174
if(envBool("DUB_UPGRADE"))
6275
{
6376
// Update all dependencies
64-
//
65-
// As a bonus, this downloads & resolves deps now so intermittent
66-
// failures are more likely to be correctly marked as "job error"
67-
// rather than "tests failed".
77+
writeln("Updating all DUB dependencies...");
6878
spawnShell("dub upgrade").wait;
6979
chdir("examples/homePage");
7080
spawnShell("dub upgrade").wait;
@@ -73,9 +83,7 @@ int main()
7383
else
7484
{
7585
// Don't upgrade dependencies.
76-
//
77-
// But download & resolve deps now so intermittent failures are more likely
78-
// to be correctly marked as "job error" rather than "tests failed".
86+
writeln("Downloading dependencies WITHOUT upgrading them...");
7987
spawnShell("dub upgrade --missing-only").wait;
8088
chdir("examples/homePage");
8189
spawnShell("dub upgrade --missing-only").wait;

dub.sdl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ license "BSL-1.0"
44
copyright "Copyright (c) 2011-2019 Steve Teale, James W. Oliphant, Simen Endsjø, Sönke Ludwig, Sergey Shamov, and Nick Sabalausky"
55
authors "Steve Teale" "James W. Oliphant" "Simen Endsjø" "Sönke Ludwig" "Sergey Shamov" "Nick Sabalausky"
66

7-
dependency "vibe-core" version="~>1.7.0" optional=true
7+
dependency "vibe-core" version="~>1.0" optional=true
88

99
sourcePaths "source/"
1010
importPaths "source/"
@@ -35,7 +35,7 @@ configuration "unittest-vibe" {
3535
targetName "mysqln-tests-vibe"
3636
excludedSourceFiles "source/app.d"
3737

38-
dependency "vibe-core" version="~>1.7.0" optional=false
38+
dependency "vibe-core" version="~>1.0" optional=false
3939

4040
mainSourceFile "source/mysql/package.d"
4141
debugVersions "MYSQLN_TESTS"
@@ -51,7 +51,7 @@ configuration "unittest-vibe-ut" {
5151
importPaths "bin/"
5252
buildOptions "unittests"
5353

54-
dependency "vibe-core" version="~>1.7.0" optional=false
54+
dependency "vibe-core" version="~>1.0" optional=false
5555

5656
dependency "unit-threaded" version="~>0.7.45"
5757

dub.selections.vibecore-1.1.1.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"taggedalgebraic": "0.11.7",
8+
"unit-threaded": "0.7.55",
9+
"vibe-core": "1.1.1"
10+
}
11+
}

dub.selections.vibecore-1.2.0.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"taggedalgebraic": "0.11.7",
8+
"unit-threaded": "0.7.55",
9+
"vibe-core": "1.2.0"
10+
}
11+
}

dub.selections.vibecore-1.3.0.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"taggedalgebraic": "0.11.7",
8+
"unit-threaded": "0.7.55",
9+
"vibe-core": "1.3.0"
10+
}
11+
}

dub.selections.vibecore-1.4.0.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.4.0"
11+
}
12+
}

dub.selections.vibecore-1.4.3.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.4.3"
11+
}
12+
}

dub.selections.vibecore-1.4.7.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.4.7"
11+
}
12+
}

dub.selections.vibecore-1.5.0.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.5.0"
11+
}
12+
}

dub.selections.vibecore-1.6.0.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.6.0"
11+
}
12+
}

dub.selections.vibecore-1.6.2.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.6.2"
11+
}
12+
}

dub.selections.vibecore-1.7.0.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"libev": "5.0.0+4.04",
7+
"libevent": "2.0.1+2.0.16",
8+
"memutils": "0.4.13",
9+
"openssl": "1.1.4+1.0.1g",
10+
"stdx-allocator": "2.77.5",
11+
"taggedalgebraic": "0.11.6",
12+
"unit-threaded": "0.7.45",
13+
"vibe-core": "1.7.0"
14+
}
15+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"taggedalgebraic": "0.11.7",
8+
"unit-threaded": "0.7.55",
9+
"vibe-core": "1.1.1"
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"taggedalgebraic": "0.11.7",
8+
"unit-threaded": "0.7.55",
9+
"vibe-core": "1.2.0"
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"taggedalgebraic": "0.11.7",
8+
"unit-threaded": "0.7.55",
9+
"vibe-core": "1.3.0"
10+
}
11+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.4.0"
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.4.3"
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.4.7"
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.5.0"
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.6.0"
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"memutils": "0.4.13",
7+
"stdx-allocator": "2.77.5",
8+
"taggedalgebraic": "0.11.7",
9+
"unit-threaded": "0.7.55",
10+
"vibe-core": "1.6.2"
11+
}
12+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"fileVersion": 1,
3+
"versions": {
4+
"eventcore": "0.8.48",
5+
"libasync": "0.8.4",
6+
"libev": "5.0.0+4.04",
7+
"libevent": "2.0.1+2.0.16",
8+
"memutils": "0.4.13",
9+
"openssl": "1.1.4+1.0.1g",
10+
"stdx-allocator": "2.77.5",
11+
"taggedalgebraic": "0.11.6",
12+
"unit-threaded": "0.7.45",
13+
"vibe-core": "1.7.0"
14+
}
15+
}

0 commit comments

Comments
 (0)