passenger 5.3.5 → 5.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +13 -0
- data/README.md +2 -1
- data/Rakefile +0 -5
- data/build/agent.rb +2 -1
- data/build/cxx_tests.rb +18 -20
- data/build/integration_tests.rb +6 -2
- data/build/support/cxx_dependency_map.rb +2019 -1966
- data/dev/colorize-logs +272 -0
- data/src/agent/Core/AdminPanelConnector.h +3 -3
- data/src/agent/Core/ApiServer.h +4 -4
- data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +2 -2
- data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -5
- data/src/agent/Core/ApplicationPool/Pool.h +4 -4
- data/src/agent/Core/ApplicationPool/Process.h +10 -15
- data/src/agent/Core/ApplicationPool/Socket.h +2 -2
- data/src/agent/Core/ApplicationPool/TestSession.h +3 -3
- data/src/agent/Core/Config.h +4 -2
- data/src/agent/Core/Controller.h +4 -4
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/Controller/SendRequest.cpp +2 -2
- data/src/agent/Core/Controller/TurboCaching.h +2 -2
- data/src/agent/Core/CoreMain.cpp +2 -2
- data/src/agent/Core/OptionParser.h +2 -2
- data/src/agent/Core/ResponseCache.h +3 -3
- data/src/agent/Core/SecurityUpdateChecker.h +2 -2
- data/src/agent/Core/SpawningKit/Config.h +2 -1
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/Context.h +1 -1
- data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -3
- data/src/agent/Core/SpawningKit/DummySpawner.h +3 -3
- data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
- data/src/agent/Core/SpawningKit/Exceptions.h +2 -2
- data/src/agent/Core/SpawningKit/Factory.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -3
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
- data/src/agent/Core/SpawningKit/Journey.h +4 -5
- data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
- data/src/agent/Core/SpawningKit/Result.h +20 -8
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -6
- data/src/agent/Core/SpawningKit/Spawner.h +2 -2
- data/src/agent/Core/TelemetryCollector.h +13 -7
- data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
- data/src/agent/README.md +1 -1
- data/src/agent/Shared/ApiAccountUtils.h +1 -1
- data/src/agent/Shared/ApiServerUtils.h +3 -3
- data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
- data/src/agent/Shared/Fundamentals/Initialization.cpp +4 -4
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +4 -3
- data/src/agent/Watchdog/ApiServer.h +3 -3
- data/src/agent/Watchdog/Config.h +3 -2
- data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
- data/src/agent/Watchdog/WatchdogMain.cpp +93 -27
- data/src/apache2_module/Config.cpp +14 -14
- data/src/apache2_module/Config.h +8 -16
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +505 -491
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +39 -17
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +24 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +31 -1
- data/src/{cxx_supportlib/Utils/MemoryBarrier.h → apache2_module/ConfigGeneral/Common.h} +17 -25
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +12 -1
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +16 -1
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +19 -5
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +26 -9
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +6 -1
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +10 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +11 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +23 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +34 -1
- data/src/apache2_module/Hooks.cpp +3 -3
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +36 -1
- data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.cpp +2 -2
- data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.h +4 -4
- data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Schema.h +2 -2
- data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/{Utils → DataStructures}/HashMap.h +4 -4
- data/src/cxx_supportlib/DataStructures/HashedStaticString.h +5 -5
- data/src/cxx_supportlib/DataStructures/LString.h +3 -3
- data/src/cxx_supportlib/{Utils → DataStructures}/StringMap.h +36 -36
- data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
- data/src/cxx_supportlib/Hooks.h +2 -2
- data/src/cxx_supportlib/{Utils → IOTools}/BufferedIO.h +5 -5
- data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.cpp +2 -2
- data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.h +3 -3
- data/src/cxx_supportlib/{Utils → IOTools}/MessageIO.h +7 -7
- data/src/cxx_supportlib/{MessageReadersWriters.h → IOTools/MessageSerialization.h} +5 -5
- data/src/cxx_supportlib/InstanceDirectory.h +4 -4
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
- data/src/cxx_supportlib/{Utils → JsonTools}/JsonUtils.h +5 -5
- data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +3 -3
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +5 -5
- data/src/cxx_supportlib/ProcessManagement/Utils.h +10 -0
- data/src/cxx_supportlib/RandomGenerator.h +2 -2
- data/src/cxx_supportlib/{Crypto.cpp → SecurityKit/Crypto.cpp} +4 -4
- data/src/cxx_supportlib/{Crypto.h → SecurityKit/Crypto.h} +4 -4
- data/src/cxx_supportlib/{Utils → SecurityKit}/MemZeroGuard.h +0 -0
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
- data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
- data/src/cxx_supportlib/ServerKit/Context.h +2 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -3
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -10
- data/src/cxx_supportlib/ServerKit/Server.h +3 -3
- data/src/cxx_supportlib/{Utils → StrIntTools}/DateParsing.h +5 -5
- data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.cpp +3 -3
- data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.h +0 -0
- data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtilsNoStrictAliasing.cpp +2 -2
- data/src/cxx_supportlib/{Utils → StrIntTools}/StringScanning.h +5 -5
- data/src/cxx_supportlib/{Utils → StrIntTools}/Template.h +30 -5
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +34 -0
- data/src/cxx_supportlib/{Utils → SystemTools}/ProcessMetricsCollector.h +6 -6
- data/src/cxx_supportlib/{Utils → SystemTools}/SystemMetricsCollector.h +3 -3
- data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.cpp +1 -1
- data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.h +0 -0
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
- data/src/cxx_supportlib/Utils.cpp +2 -2
- data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -3
- data/src/cxx_supportlib/Utils/Curl.h +2 -2
- data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
- data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
- data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
- data/src/cxx_supportlib/Utils/Timer.h +2 -2
- data/src/cxx_supportlib/Utils/VariantMap.h +3 -3
- data/src/cxx_supportlib/WatchdogLauncher.h +3 -3
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
- data/src/cxx_supportlib/vendor-modified/psg_sysqueue.h +3 -0
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +11 -11
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +20 -19
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +22 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +33 -13
- data/src/schema_printer/SchemaPrinterMain.cpp +2 -0
- metadata +28 -86
- data/.editorconfig +0 -134
- data/CODE_OF_CONDUCT.md +0 -52
- data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +0 -48
- data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +0 -33
- data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +0 -25
- data/dev/ci/README.md +0 -134
- data/dev/ci/lib/functions.sh +0 -129
- data/dev/ci/lib/set-container-envvars.sh +0 -53
- data/dev/ci/lib/setup-container.sh +0 -46
- data/dev/ci/run-tests-natively +0 -24
- data/dev/ci/run-tests-with-docker +0 -42
- data/dev/ci/scripts/debug-console-wrapper.sh +0 -29
- data/dev/ci/scripts/docker-entrypoint-stage2.sh +0 -17
- data/dev/ci/scripts/docker-entrypoint.sh +0 -17
- data/dev/ci/scripts/inituidgid +0 -17
- data/dev/ci/scripts/run-tests-natively-stage2.sh +0 -17
- data/dev/ci/scripts/setup-host-natively.sh +0 -11
- data/dev/ci/setup-host +0 -56
- data/dev/ci/tests/apache2/run +0 -6
- data/dev/ci/tests/apache2/setup +0 -4
- data/dev/ci/tests/binaries/Jenkinsfile +0 -105
- data/dev/ci/tests/binaries/build-linux +0 -38
- data/dev/ci/tests/binaries/build-macos +0 -40
- data/dev/ci/tests/binaries/prepare-macos +0 -38
- data/dev/ci/tests/binaries/test-linux +0 -45
- data/dev/ci/tests/binaries/test-macos +0 -38
- data/dev/ci/tests/cxx/run +0 -9
- data/dev/ci/tests/cxx/setup +0 -4
- data/dev/ci/tests/debian/Jenkinsfile +0 -89
- data/dev/ci/tests/debian/run +0 -60
- data/dev/ci/tests/nginx-dynamic/run +0 -20
- data/dev/ci/tests/nginx-dynamic/setup +0 -4
- data/dev/ci/tests/nginx/run +0 -5
- data/dev/ci/tests/nginx/setup +0 -4
- data/dev/ci/tests/nodejs/run +0 -4
- data/dev/ci/tests/nodejs/setup +0 -4
- data/dev/ci/tests/rpm/Jenkinsfile +0 -68
- data/dev/ci/tests/rpm/run +0 -63
- data/dev/ci/tests/ruby/run +0 -4
- data/dev/ci/tests/ruby/setup +0 -4
- data/dev/ci/tests/source-packaging/run +0 -4
- data/dev/ci/tests/source-packaging/setup +0 -4
- data/dev/ci/tests/standalone/run +0 -4
- data/dev/ci/tests/standalone/setup +0 -4
- data/dev/configkit-schemas/index.json +0 -1850
- data/dev/configkit-schemas/update_schema_inline_comments.rb +0 -118
- data/dev/rack.test/config.ru +0 -5
- data/dev/rack.test/public/asset.txt +0 -1
- data/dev/vagrant/apache_default_site.conf +0 -35
- data/dev/vagrant/apache_passenger.conf +0 -5
- data/dev/vagrant/apache_passenger.load +0 -1
- data/dev/vagrant/apache_ports.conf +0 -24
- data/dev/vagrant/apache_rack_test.conf +0 -9
- data/dev/vagrant/bashrc +0 -23
- data/dev/vagrant/nginx.conf +0 -39
- data/dev/vagrant/nginx_rakefile +0 -33
- data/dev/vagrant/nginx_start +0 -32
- data/dev/vagrant/provision.sh +0 -117
- data/dev/vagrant/sudoers.conf +0 -5
- data/resources/templates/error_renderer/.editorconfig +0 -19
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
From 581af47e251b34f0ae410c29758884c1f033610e Mon Sep 17 00:00:00 2001
|
|
2
|
-
From: "Hongli Lai (Phusion)" <hongli@phusion.nl>
|
|
3
|
-
Date: Mon, 15 Feb 2016 12:22:44 +0100
|
|
4
|
-
Subject: [PATCH] Make boost::thread_interrupted derive from
|
|
5
|
-
oxt::tracable_exception
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp | 2 ++
|
|
9
|
-
1 file changed, 2 insertions(+)
|
|
10
|
-
|
|
11
|
-
diff --git a/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp b/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp
|
|
12
|
-
index d97465b75..3f780bfb1 100644
|
|
13
|
-
--- a/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp
|
|
14
|
-
+++ b/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp
|
|
15
|
-
@@ -21,6 +21,7 @@
|
|
16
|
-
#include <stdexcept>
|
|
17
|
-
#include <boost/system/system_error.hpp>
|
|
18
|
-
#include <boost/system/error_code.hpp>
|
|
19
|
-
+#include <oxt/tracable_exception.hpp>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
#include <boost/config/abi_prefix.hpp>
|
|
23
|
-
@@ -30,6 +31,7 @@ namespace boost
|
|
24
|
-
|
|
25
|
-
#if defined BOOST_THREAD_PROVIDES_INTERRUPTIONS
|
|
26
|
-
class BOOST_SYMBOL_VISIBLE thread_interrupted
|
|
27
|
-
+ : public oxt::tracable_exception
|
|
28
|
-
{};
|
|
29
|
-
#endif
|
|
30
|
-
|
|
31
|
-
--
|
|
32
|
-
2.13.0
|
|
33
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
From 4503df46a907a46a37238bbff04f887c65c7f376 Mon Sep 17 00:00:00 2001
|
|
2
|
-
From: "Hongli Lai (Phusion)" <hongli@phusion.nl>
|
|
3
|
-
Date: Mon, 15 Feb 2016 12:38:22 +0100
|
|
4
|
-
Subject: [PATCH] Disable a Clang pragma to prevent warnings on OS X
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp | 2 +-
|
|
8
|
-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
9
|
-
|
|
10
|
-
diff --git a/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp b/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp
|
|
11
|
-
index 05ac71a68..5e63db629 100644
|
|
12
|
-
--- a/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp
|
|
13
|
-
+++ b/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp
|
|
14
|
-
@@ -121,7 +121,7 @@ template class BOOST_REGEX_TEMPLATE_DECL ::boost::BOOST_REGEX_DETAIL_NS::perl_ma
|
|
15
|
-
|
|
16
|
-
#ifdef __clang__
|
|
17
|
-
#pragma clang diagnostic push
|
|
18
|
-
-#pragma clang diagnostic ignored "-Wkeyword-macro"
|
|
19
|
-
+//#pragma clang diagnostic ignored "-Wkeyword-macro"
|
|
20
|
-
#endif
|
|
21
|
-
|
|
22
|
-
# ifndef BOOST_REGEX_INSTANTIATE
|
|
23
|
-
--
|
|
24
|
-
2.13.0
|
|
25
|
-
|
data/dev/ci/README.md
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
# Continuous integration test suite
|
|
2
|
-
|
|
3
|
-
This directory contains scripts that invoke the Passenger test suite. These scripts are invoked from the Passenger continuous integration environment, based on Jenkins.
|
|
4
|
-
|
|
5
|
-
The following diagrams explain how the different files fit together.
|
|
6
|
-
|
|
7
|
-
## Flow on Linux
|
|
8
|
-
|
|
9
|
-
~~~
|
|
10
|
-
Invoke: dev/ci/setup-host
|
|
11
|
-
| |
|
|
12
|
-
| +-- Load: dev/ci/scripts/setup-host
|
|
13
|
-
| |
|
|
14
|
-
| +-- Relax file permissions (if in Jenkins)
|
|
15
|
-
| |
|
|
16
|
-
| +-- Create cache directories
|
|
17
|
-
| |
|
|
18
|
-
| +-- Create buildout directory
|
|
19
|
-
|
|
|
20
|
-
Invoke: dev/ci/run-tests-with-docker <test name>
|
|
21
|
-
|
|
|
22
|
-
+-- Exec: Docker container
|
|
23
|
-
Entrypoint: dev/ci/scripts/docker-entrypoint.sh
|
|
24
|
-
|
|
|
25
|
-
+-- Exec: dev/ci/scripts/debug-console-wrapper.sh dev/ci/scripts/docker-entrypoint-stage2.sh
|
|
26
|
-
|
|
|
27
|
-
+-- Invoke: dev/ci/scripts/docker-entrypoint-stage2.sh
|
|
28
|
-
| |
|
|
29
|
-
| +-- Load: dev/ci/lib/setup-container.sh <test name>
|
|
30
|
-
| | |
|
|
31
|
-
| | +-- Create test/config.json
|
|
32
|
-
| | |
|
|
33
|
-
| | +-- Relax home permission
|
|
34
|
-
| | |
|
|
35
|
-
| | +-- Remove previous build products
|
|
36
|
-
| | |
|
|
37
|
-
| | +-- Load: dev/ci/lib/set-container-envvars.sh
|
|
38
|
-
| | | |
|
|
39
|
-
| | | +-- Set RVM version and various envvars
|
|
40
|
-
| | |
|
|
41
|
-
| | +-- Load: dev/ci/tests/<test name>/setup
|
|
42
|
-
| |
|
|
43
|
-
| +-- Load: dev/ci/tests/<test name>/run
|
|
44
|
-
|
|
|
45
|
-
+-- (if docker-entrypoint-stage2.sh exited with an error)
|
|
46
|
-
| Populate buildout/testlogs
|
|
47
|
-
|
|
|
48
|
-
+-- (if docker-entrypoint-stage2.sh exited with an error,
|
|
49
|
-
| and DEBUG_CONSOLE is set to 0)
|
|
50
|
-
| Print error message and exit
|
|
51
|
-
|
|
|
52
|
-
+-- (if docker-entrypoint-stage2.sh exited with an error,
|
|
53
|
-
and DEBUG_CONSOLE is set to 1)
|
|
54
|
-
|
|
|
55
|
-
+-- Load: dev/ci/lib/set-container-envvars.sh
|
|
56
|
-
| |
|
|
57
|
-
| +-- Set RVM version and various envvars
|
|
58
|
-
|
|
|
59
|
-
+-- Invoke: bash
|
|
60
|
-
~~~
|
|
61
|
-
|
|
62
|
-
## Flow on macOS
|
|
63
|
-
|
|
64
|
-
~~~
|
|
65
|
-
Invoke: dev/ci/setup-host <test name>
|
|
66
|
-
| |
|
|
67
|
-
| +-- Relax file permissions (if in Jenkins)
|
|
68
|
-
| |
|
|
69
|
-
| +-- Create cache directories
|
|
70
|
-
| |
|
|
71
|
-
| +-- Create buildout directory
|
|
72
|
-
| |
|
|
73
|
-
| +-- Exec: dev/ci/scripts/debug-console-wrapper.sh dev/ci/scripts/setup-host-natively.sh <test name>
|
|
74
|
-
| |
|
|
75
|
-
| +-- Invoke: dev/ci/scripts/setup-host-natively.sh
|
|
76
|
-
| | |
|
|
77
|
-
| | +-- Load: dev/ci/lib/setup-container.sh
|
|
78
|
-
| | |
|
|
79
|
-
| | +-- Create test/config.json
|
|
80
|
-
| | |
|
|
81
|
-
| | +-- Relax home permission
|
|
82
|
-
| | |
|
|
83
|
-
| | +-- Remove previous build products
|
|
84
|
-
| | |
|
|
85
|
-
| | +-- Load: dev/ci/lib/set-container-envvars.sh
|
|
86
|
-
| | | |
|
|
87
|
-
| | | +-- Set RVM version and various envvars
|
|
88
|
-
| | |
|
|
89
|
-
| | +-- Load: dev/ci/tests/<test name>/setup
|
|
90
|
-
| |
|
|
91
|
-
| +-- (if setup-host-natively.sh exited with an error)
|
|
92
|
-
| | Populate buildout/testlogs
|
|
93
|
-
| |
|
|
94
|
-
| +-- (if setup-host-natively.sh exited with an error,
|
|
95
|
-
| | and DEBUG_CONSOLE is set to 0)
|
|
96
|
-
| | Print error message and exit
|
|
97
|
-
| |
|
|
98
|
-
| +-- (if setup-host-natively.sh exited with an error,
|
|
99
|
-
| and DEBUG_CONSOLE is set to 1)
|
|
100
|
-
| |
|
|
101
|
-
| +-- Load: dev/ci/lib/set-container-envvars.sh
|
|
102
|
-
| | |
|
|
103
|
-
| | +-- Set RVM version and various envvars
|
|
104
|
-
| |
|
|
105
|
-
| +-- Invoke: bash
|
|
106
|
-
|
|
|
107
|
-
Invoke: dev/ci/run-tests-natively <test name>
|
|
108
|
-
|
|
|
109
|
-
+-- Exec: dev/ci/scripts/debug-console-wrapper.sh dev/ci/scripts/run-tests-natively-stage2.sh <test name>
|
|
110
|
-
|
|
|
111
|
-
+-- Invoke: dev/ci/scripts/run-tests-natively-stage2.sh
|
|
112
|
-
| |
|
|
113
|
-
| +-- Load: dev/lib/set-container-envvars.sh
|
|
114
|
-
| | |
|
|
115
|
-
| | +-- Set RVM version and various envvars
|
|
116
|
-
| |
|
|
117
|
-
| +-- Load: dev/ci/tests/<test name>/run
|
|
118
|
-
|
|
|
119
|
-
+-- (if run-tests-natively-stage2.sh exited with an error)
|
|
120
|
-
| Populate buildout/testlogs
|
|
121
|
-
|
|
|
122
|
-
+-- (if run-tests-natively-stage2.sh exited with an error,
|
|
123
|
-
| and DEBUG_CONSOLE is set to 0)
|
|
124
|
-
| Print error message and exit
|
|
125
|
-
|
|
|
126
|
-
+-- (if run-tests-natively-stage2.sh exited with an error,
|
|
127
|
-
and DEBUG_CONSOLE is set to 1)
|
|
128
|
-
|
|
|
129
|
-
+-- Load: dev/ci/lib/set-container-envvars.sh
|
|
130
|
-
| |
|
|
131
|
-
| +-- Set RVM version and various envvars
|
|
132
|
-
|
|
|
133
|
-
+-- Invoke: bash
|
|
134
|
-
~~~
|
data/dev/ci/lib/functions.sh
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
set -e
|
|
3
|
-
|
|
4
|
-
RESET=$(echo -e "\033[0m")
|
|
5
|
-
BOLD=$(echo -e "\033[1m")
|
|
6
|
-
YELLOW=$(echo -e "\033[33m")
|
|
7
|
-
BLUE_BG=$(echo -e "\033[44m")
|
|
8
|
-
|
|
9
|
-
function header()
|
|
10
|
-
{
|
|
11
|
-
local title="$1"
|
|
12
|
-
echo "${BLUE_BG}${YELLOW}${BOLD}${title}${RESET}"
|
|
13
|
-
echo "------------------------------------------"
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function header2()
|
|
17
|
-
{
|
|
18
|
-
local title="$1"
|
|
19
|
-
echo "### ${BOLD}${title}${RESET}"
|
|
20
|
-
echo
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function run()
|
|
24
|
-
{
|
|
25
|
-
echo "+ $*"
|
|
26
|
-
"$@"
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function run_exec()
|
|
30
|
-
{
|
|
31
|
-
echo "+ exec $*"
|
|
32
|
-
exec "$@"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function retry_run()
|
|
36
|
-
{
|
|
37
|
-
local reset='\x1B[0m'
|
|
38
|
-
local red='\x1B[31m'
|
|
39
|
-
local yellow='\x1B[33m'
|
|
40
|
-
|
|
41
|
-
local max_tries="$1"
|
|
42
|
-
local number=2
|
|
43
|
-
shift
|
|
44
|
-
|
|
45
|
-
echo "+ $*"
|
|
46
|
-
while true; do
|
|
47
|
-
if "$@"; then
|
|
48
|
-
return 0
|
|
49
|
-
elif [[ $number -le $max_tries ]]; then
|
|
50
|
-
echo -e "${yellow}The command \"$*\" failed. Retrying, $number of $max_tries:${reset}"
|
|
51
|
-
(( number++ ))
|
|
52
|
-
else
|
|
53
|
-
echo -e "${red}The command \"$*\" failed after $max_tries attempts. Giving up.${reset}"
|
|
54
|
-
return 1
|
|
55
|
-
fi
|
|
56
|
-
done
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function autodetect_environment()
|
|
60
|
-
{
|
|
61
|
-
echo "Environment autodetection results:"
|
|
62
|
-
if [[ "$JENKINS_HOME" != "" ]]; then
|
|
63
|
-
echo "Running in Jenkins: yes"
|
|
64
|
-
export IN_JEKINS=true
|
|
65
|
-
export CACHE_DIR="$JENKINS_HOME/cache/$JOB_NAME/executor-$EXECUTOR_NUMBER"
|
|
66
|
-
else
|
|
67
|
-
echo "Running in Jenkins: no"
|
|
68
|
-
export IN_JENKINS=false
|
|
69
|
-
export CACHE_DIR="$PASSENGER_ROOT/.ci_cache"
|
|
70
|
-
fi
|
|
71
|
-
if [[ -e /usr/bin/sw_vers ]]; then
|
|
72
|
-
echo "Operating system: macOS"
|
|
73
|
-
export OS=macos
|
|
74
|
-
else
|
|
75
|
-
echo "Operating system: Linux"
|
|
76
|
-
export OS=linux
|
|
77
|
-
fi
|
|
78
|
-
echo "Cache directory: $CACHE_DIR"
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
function sanity_check_environment()
|
|
82
|
-
{
|
|
83
|
-
if $IN_JENKINS; then
|
|
84
|
-
if [[ "$JOB_NAME" = "" ]]; then
|
|
85
|
-
echo "ERROR: Jenkins environment detected, but JOB_NAME environment variable not set." >&2
|
|
86
|
-
return 1
|
|
87
|
-
fi
|
|
88
|
-
if [[ "$EXECUTOR_NUMBER" = "" ]]; then
|
|
89
|
-
echo "ERROR: Jenkins environment detected, but EXECUTOR_NUMBER environment variable not set." >&2
|
|
90
|
-
return 1
|
|
91
|
-
fi
|
|
92
|
-
fi
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
# The following is necessary to make the C++ tests work.
|
|
96
|
-
# They invoke Ruby scripts which require gems installed
|
|
97
|
-
# by Bundler, but these scripts are not invoked with
|
|
98
|
-
# Bundler, so they can only find these gems through GEM_PATH.
|
|
99
|
-
function add_bundler_path_to_gem_path()
|
|
100
|
-
{
|
|
101
|
-
local bundle_path
|
|
102
|
-
|
|
103
|
-
if bundle_path=$(bundle show rake); then
|
|
104
|
-
bundle_path=$(dirname "$bundle_path")
|
|
105
|
-
bundle_path=$(dirname "$bundle_path")
|
|
106
|
-
echo "Adding $bundle_path to GEM_PATH"
|
|
107
|
-
export GEM_PATH="$bundle_path:$GEM_PATH"
|
|
108
|
-
|
|
109
|
-
local bundle_bin_path="$bundle_path/bin"
|
|
110
|
-
echo "Adding $bundle_bin_path to PATH"
|
|
111
|
-
export PATH="$bundle_bin_path:$PATH"
|
|
112
|
-
fi
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
function _cleanup()
|
|
116
|
-
{
|
|
117
|
-
set +e
|
|
118
|
-
local pids
|
|
119
|
-
pids=$(jobs -p)
|
|
120
|
-
if [[ "$pids" != "" ]]; then
|
|
121
|
-
# shellcheck disable=SC2086
|
|
122
|
-
kill $pids 2>/dev/null
|
|
123
|
-
fi
|
|
124
|
-
if [[ $(type -t cleanup) == function ]]; then
|
|
125
|
-
cleanup
|
|
126
|
-
fi
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
trap _cleanup EXIT
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Do not `set -e` here because debug-console-wrapper.sh
|
|
3
|
-
# relies on this fact.
|
|
4
|
-
|
|
5
|
-
export DEVDEPS_DEFAULT=no
|
|
6
|
-
# shellcheck disable=SC2153
|
|
7
|
-
export DEPS_TARGET="$CACHE_DIR/bundle"
|
|
8
|
-
export USE_CCACHE=true
|
|
9
|
-
export COMPILE_CONCURRENCY=${COMPILE_CONCURRENCY:-2}
|
|
10
|
-
export YARN_ARGS="--cache-folder='$CACHE_DIR/yarn'"
|
|
11
|
-
export CCACHE_DIR="$CACHE_DIR/ccache"
|
|
12
|
-
export CCACHE_COMPRESS=1
|
|
13
|
-
export CCACHE_COMPRESSLEVEL=3
|
|
14
|
-
export CCACHE_BASEDIR="$PASSENGER_ROOT"
|
|
15
|
-
export CCACHE_SLOPPINESS=time_macros
|
|
16
|
-
export CCACHE_LOGFILE="$(pwd)/buildout/testlogs/ccache.log"
|
|
17
|
-
# We want Bundler invocations to be explicit. For example,
|
|
18
|
-
# when running 'rake test:install_deps', we do not want
|
|
19
|
-
# to invoke Bundler there because the goal might be to
|
|
20
|
-
# install the Rake version as specified in the Gemfile,
|
|
21
|
-
# which we may not have yet.
|
|
22
|
-
export NOEXEC_DISABLE=1
|
|
23
|
-
|
|
24
|
-
if [[ "$EXECUTOR_NUMBER" != "" ]]; then
|
|
25
|
-
(( TEST_PORT_BASE=64000+EXECUTOR_NUMBER*10 ))
|
|
26
|
-
export TEST_PORT_BASE
|
|
27
|
-
fi
|
|
28
|
-
|
|
29
|
-
if [[ "$OS" = macos ]]; then
|
|
30
|
-
# Ensure that Homebrew tools can be found
|
|
31
|
-
export PATH=$PATH:/usr/local/bin
|
|
32
|
-
else
|
|
33
|
-
export LC_CTYPE=C.UTF-8
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
if [[ -f ~/.rvm/scripts/rvm ]]; then
|
|
37
|
-
# shellcheck source=/dev/null
|
|
38
|
-
source ~/.rvm/scripts/rvm
|
|
39
|
-
else
|
|
40
|
-
# shellcheck source=/dev/null
|
|
41
|
-
source /usr/local/rvm/scripts/rvm
|
|
42
|
-
fi
|
|
43
|
-
|
|
44
|
-
if [[ "$TEST_RUBY_VERSION" != "" ]]; then
|
|
45
|
-
header2 "Using Ruby version $TEST_RUBY_VERSION"
|
|
46
|
-
run rvm use "$TEST_RUBY_VERSION"
|
|
47
|
-
echo
|
|
48
|
-
fi
|
|
49
|
-
|
|
50
|
-
# RVM's cd override causes problems (probably thanks to bash
|
|
51
|
-
# error handling being weird and quirky:
|
|
52
|
-
# https://news.ycombinator.com/item?id=14321213)
|
|
53
|
-
unset cd
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
if ! grep -q passenger.test /etc/hosts; then
|
|
4
|
-
header2 "Updating /etc/hosts"
|
|
5
|
-
sudo sh -c "cat >> /etc/hosts" <<EOF
|
|
6
|
-
127.0.0.1 passenger.test
|
|
7
|
-
127.0.0.1 mycook.passenger.test
|
|
8
|
-
127.0.0.1 zsfa.passenger.test
|
|
9
|
-
127.0.0.1 norails.passenger.test
|
|
10
|
-
127.0.0.1 1.passenger.test 2.passenger.test 3.passenger.test
|
|
11
|
-
127.0.0.1 4.passenger.test 5.passenger.test 6.passenger.test
|
|
12
|
-
127.0.0.1 7.passenger.test 8.passenger.test 9.passenger.test
|
|
13
|
-
EOF
|
|
14
|
-
echo
|
|
15
|
-
fi
|
|
16
|
-
|
|
17
|
-
header2 "Creating test/config.json"
|
|
18
|
-
if [[ "$OS" = linux ]]; then
|
|
19
|
-
run cp test/config.json.travis test/config.json
|
|
20
|
-
else
|
|
21
|
-
sed -e "s/_USER_/$USER/" test/config.json.travis-osx > test/config.json
|
|
22
|
-
fi
|
|
23
|
-
echo "+ Done."
|
|
24
|
-
echo
|
|
25
|
-
|
|
26
|
-
# Relax permissions on home directory so that the application root
|
|
27
|
-
# permission checks pass.
|
|
28
|
-
header2 "Relaxing home permission"
|
|
29
|
-
run chmod g+x,o+x "$HOME"
|
|
30
|
-
echo
|
|
31
|
-
|
|
32
|
-
header2 "Removing previous build products"
|
|
33
|
-
run rm -rf buildout/*
|
|
34
|
-
run mkdir buildout/testlogs
|
|
35
|
-
run rm -f test/test.log
|
|
36
|
-
run rm -rf /tmp/psg-test-* /tmp/passenger-error-*.html
|
|
37
|
-
echo
|
|
38
|
-
|
|
39
|
-
# shellcheck source=../lib/set-container-envvars.sh
|
|
40
|
-
source "$PASSENGER_ROOT/dev/ci/lib/set-container-envvars.sh"
|
|
41
|
-
|
|
42
|
-
header "Running test-specific preparations"
|
|
43
|
-
# shellcheck source=/dev/null
|
|
44
|
-
source "$PASSENGER_ROOT/dev/ci/tests/$1/setup"
|
|
45
|
-
echo '+ Done.'
|
|
46
|
-
echo
|
data/dev/ci/run-tests-natively
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
set -eo pipefail
|
|
3
|
-
|
|
4
|
-
SELFDIR=$(dirname "$0")
|
|
5
|
-
SELFDIR=$(cd "$SELFDIR" && pwd)
|
|
6
|
-
PASSENGER_ROOT=$(cd "$SELFDIR/../.." && pwd)
|
|
7
|
-
# shellcheck source=lib/functions.sh
|
|
8
|
-
source "$SELFDIR/lib/functions.sh"
|
|
9
|
-
cd "$PASSENGER_ROOT"
|
|
10
|
-
|
|
11
|
-
autodetect_environment
|
|
12
|
-
sanity_check_environment
|
|
13
|
-
echo
|
|
14
|
-
|
|
15
|
-
if [[ "$OS" != macos ]]; then
|
|
16
|
-
echo "ERROR: this script can only be run on macOS." >&2
|
|
17
|
-
exit 1
|
|
18
|
-
fi
|
|
19
|
-
|
|
20
|
-
security unlock-keychain -p `cat ~/.password` ~/Library/Keychains/login.keychain
|
|
21
|
-
|
|
22
|
-
export CI_COMMAND="./dev/ci/run-tests-natively $*"
|
|
23
|
-
exec "$PASSENGER_ROOT/dev/ci/scripts/debug-console-wrapper.sh" \
|
|
24
|
-
"$PASSENGER_ROOT/dev/ci/scripts/run-tests-natively-stage2.sh" "$@"
|