autoproj 2.0.0.b7 → 2.0.0.rc1
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/.gitattributes +1 -0
- data/.gitignore +8 -0
- data/.travis.yml +5 -0
- data/Gemfile +6 -0
- data/README.md +4 -0
- data/Rakefile +40 -81
- data/autoproj.gemspec +29 -0
- data/lib/autoproj/cli/cache.rb +7 -2
- data/lib/autoproj/cli/main.rb +46 -25
- data/lib/autoproj/cli/main_test.rb +6 -4
- data/lib/autoproj/cli/status.rb +2 -2
- data/lib/autoproj/configuration.rb +5 -0
- data/lib/autoproj/git_server_configuration.rb +117 -0
- data/lib/autoproj/osdeps.rb +14 -914
- data/lib/autoproj/package_managers/apt_dpkg_manager.rb +70 -0
- data/lib/autoproj/package_managers/emerge_manager.rb +14 -0
- data/lib/autoproj/package_managers/gem_manager.rb +313 -0
- data/lib/autoproj/package_managers/homebrew_manager.rb +44 -0
- data/lib/autoproj/package_managers/manager.rb +45 -0
- data/lib/autoproj/package_managers/pacman_manager.rb +14 -0
- data/lib/autoproj/package_managers/pip_manager.rb +86 -0
- data/lib/autoproj/package_managers/pkg_manager.rb +14 -0
- data/lib/autoproj/package_managers/port_manager.rb +14 -0
- data/lib/autoproj/package_managers/shell_script_manager.rb +207 -0
- data/lib/autoproj/package_managers/unknown_os_manager.rb +42 -0
- data/lib/autoproj/package_managers/yum_manager.rb +56 -0
- data/lib/autoproj/package_managers/zypper_manager.rb +43 -0
- data/lib/autoproj/package_manifest.rb +1 -1
- data/lib/autoproj/test.rb +13 -14
- data/lib/autoproj/variable_expansion.rb +4 -2
- data/lib/autoproj/version.rb +1 -1
- data/lib/autoproj/workspace.rb +5 -1
- data/manifest.xml +20 -0
- metadata +73 -87
- data/.gemtest +0 -0
- data/Manifest.txt +0 -105
- data/test/data/empty_manifest.xml +0 -2
- data/test/data/full_manifest.xml +0 -19
- data/test/data/invalid_manifest.xml +0 -3
- data/test/data/os_release.with_complex_version_field +0 -3
- data/test/data/os_release.with_duplicate_values +0 -3
- data/test/data/os_release.with_missing_optional_fields +0 -2
- data/test/data/os_release.with_quoted_and_unquoted_fields +0 -2
- data/test/data/test_manifest/autoproj/local_set/local.autobuild +0 -0
- data/test/data/test_manifest/autoproj/local_set/source.yml +0 -1
- data/test/data/test_manifest/autoproj/manifest +0 -7
- data/test/ops/test_configuration.rb +0 -20
- data/test/ops/test_snapshot.rb +0 -26
- data/test/package_managers/apt-dpkg-status +0 -41
- data/test/package_managers/apt-dpkg-status.installed-last +0 -27
- data/test/package_managers/apt-dpkg-status.noninstalled-last +0 -12
- data/test/package_managers/test_apt_dpkg_manager.rb +0 -41
- data/test/package_managers/test_gem.rb +0 -156
- data/test/package_managers/test_pip.rb +0 -42
- data/test/test_manifest.rb +0 -48
- data/test/test_os_dependencies.rb +0 -586
- data/test/test_package.rb +0 -30
- data/test/test_package_manifest.rb +0 -65
- data/test/test_vcs_definition.rb +0 -46
data/.gemtest
DELETED
File without changes
|
data/Manifest.txt
DELETED
@@ -1,105 +0,0 @@
|
|
1
|
-
History.txt
|
2
|
-
Manifest.txt
|
3
|
-
README.md
|
4
|
-
Rakefile
|
5
|
-
bin/alocate
|
6
|
-
bin/amake
|
7
|
-
bin/aup
|
8
|
-
bin/autoproj
|
9
|
-
bin/autoproj_bootstrap
|
10
|
-
bin/autoproj_bootstrap.in
|
11
|
-
lib/autoproj.rb
|
12
|
-
lib/autoproj/autobuild.rb
|
13
|
-
lib/autoproj/base.rb
|
14
|
-
lib/autoproj/build_option.rb
|
15
|
-
lib/autoproj/cli.rb
|
16
|
-
lib/autoproj/cli/base.rb
|
17
|
-
lib/autoproj/cli/bootstrap.rb
|
18
|
-
lib/autoproj/cli/build.rb
|
19
|
-
lib/autoproj/cli/cache.rb
|
20
|
-
lib/autoproj/cli/clean.rb
|
21
|
-
lib/autoproj/cli/commit.rb
|
22
|
-
lib/autoproj/cli/doc.rb
|
23
|
-
lib/autoproj/cli/envsh.rb
|
24
|
-
lib/autoproj/cli/inspection_tool.rb
|
25
|
-
lib/autoproj/cli/locate.rb
|
26
|
-
lib/autoproj/cli/log.rb
|
27
|
-
lib/autoproj/cli/main.rb
|
28
|
-
lib/autoproj/cli/main_test.rb
|
29
|
-
lib/autoproj/cli/osdeps.rb
|
30
|
-
lib/autoproj/cli/query.rb
|
31
|
-
lib/autoproj/cli/reconfigure.rb
|
32
|
-
lib/autoproj/cli/reset.rb
|
33
|
-
lib/autoproj/cli/show.rb
|
34
|
-
lib/autoproj/cli/snapshot.rb
|
35
|
-
lib/autoproj/cli/status.rb
|
36
|
-
lib/autoproj/cli/switch_config.rb
|
37
|
-
lib/autoproj/cli/tag.rb
|
38
|
-
lib/autoproj/cli/test.rb
|
39
|
-
lib/autoproj/cli/update.rb
|
40
|
-
lib/autoproj/cli/versions.rb
|
41
|
-
lib/autoproj/configuration.rb
|
42
|
-
lib/autoproj/default.osdeps
|
43
|
-
lib/autoproj/environment.rb
|
44
|
-
lib/autoproj/exceptions.rb
|
45
|
-
lib/autoproj/gitorious.rb
|
46
|
-
lib/autoproj/installation_manifest.rb
|
47
|
-
lib/autoproj/manifest.rb
|
48
|
-
lib/autoproj/metapackage.rb
|
49
|
-
lib/autoproj/ops/build.rb
|
50
|
-
lib/autoproj/ops/cache.rb
|
51
|
-
lib/autoproj/ops/configuration.rb
|
52
|
-
lib/autoproj/ops/import.rb
|
53
|
-
lib/autoproj/ops/loader.rb
|
54
|
-
lib/autoproj/ops/main_config_switcher.rb
|
55
|
-
lib/autoproj/ops/snapshot.rb
|
56
|
-
lib/autoproj/ops/tools.rb
|
57
|
-
lib/autoproj/options.rb
|
58
|
-
lib/autoproj/osdeps.rb
|
59
|
-
lib/autoproj/package_definition.rb
|
60
|
-
lib/autoproj/package_manifest.rb
|
61
|
-
lib/autoproj/package_selection.rb
|
62
|
-
lib/autoproj/package_set.rb
|
63
|
-
lib/autoproj/query.rb
|
64
|
-
lib/autoproj/reporter.rb
|
65
|
-
lib/autoproj/system.rb
|
66
|
-
lib/autoproj/templates/create-set/packages.autobuild
|
67
|
-
lib/autoproj/templates/create-set/source.yml
|
68
|
-
lib/autoproj/test.rb
|
69
|
-
lib/autoproj/variable_expansion.rb
|
70
|
-
lib/autoproj/vcs_definition.rb
|
71
|
-
lib/autoproj/version.rb
|
72
|
-
lib/autoproj/workspace.rb
|
73
|
-
samples/autoproj/README.txt
|
74
|
-
samples/autoproj/init.rb
|
75
|
-
samples/autoproj/manifest
|
76
|
-
samples/autoproj/overrides.rb
|
77
|
-
samples/autoproj/overrides.yml
|
78
|
-
samples/manifest.xml
|
79
|
-
samples/osdeps.yml
|
80
|
-
shell/autoproj_bash
|
81
|
-
shell/autoproj_sh
|
82
|
-
shell/autoproj_zsh
|
83
|
-
test/data/empty_manifest.xml
|
84
|
-
test/data/full_manifest.xml
|
85
|
-
test/data/invalid_manifest.xml
|
86
|
-
test/data/os_release.with_complex_version_field
|
87
|
-
test/data/os_release.with_duplicate_values
|
88
|
-
test/data/os_release.with_missing_optional_fields
|
89
|
-
test/data/os_release.with_quoted_and_unquoted_fields
|
90
|
-
test/data/test_manifest/autoproj/local_set/local.autobuild
|
91
|
-
test/data/test_manifest/autoproj/local_set/source.yml
|
92
|
-
test/data/test_manifest/autoproj/manifest
|
93
|
-
test/ops/test_configuration.rb
|
94
|
-
test/ops/test_snapshot.rb
|
95
|
-
test/package_managers/apt-dpkg-status
|
96
|
-
test/package_managers/apt-dpkg-status.installed-last
|
97
|
-
test/package_managers/apt-dpkg-status.noninstalled-last
|
98
|
-
test/package_managers/test_apt_dpkg_manager.rb
|
99
|
-
test/package_managers/test_gem.rb
|
100
|
-
test/package_managers/test_pip.rb
|
101
|
-
test/test_manifest.rb
|
102
|
-
test/test_os_dependencies.rb
|
103
|
-
test/test_package.rb
|
104
|
-
test/test_package_manifest.rb
|
105
|
-
test/test_vcs_definition.rb
|
data/test/data/full_manifest.xml
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
<package>
|
2
|
-
<description brief="short_doc">
|
3
|
-
full_doc
|
4
|
-
</description>
|
5
|
-
<author>Author1/author1@email,Author2/author2@email</author>
|
6
|
-
<author>Author3</author>
|
7
|
-
|
8
|
-
<license>BSD</license>
|
9
|
-
<url>the_url</url>
|
10
|
-
<logo>the_logo</logo>
|
11
|
-
<depend package="dep1"/>
|
12
|
-
<depend package="dep2"/>
|
13
|
-
<depend package="opt_dep1" optional="1"/>
|
14
|
-
<depend_optional package="opt_dep2"/>
|
15
|
-
<rosdep name="osdep1"/>
|
16
|
-
|
17
|
-
<tags>tag1,tag2</tags>
|
18
|
-
<tags>tag3</tags>
|
19
|
-
</package>
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
name: local_set
|
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'autoproj/test'
|
2
|
-
require 'autoproj/ops/configuration'
|
3
|
-
|
4
|
-
describe Autoproj::Ops::Configuration do
|
5
|
-
describe "#sort_package_sets_by_import_order" do
|
6
|
-
attr_reader :ops
|
7
|
-
|
8
|
-
before do
|
9
|
-
@ops = Autoproj::Ops::Configuration.new(nil, nil)
|
10
|
-
end
|
11
|
-
|
12
|
-
it "should handle standalone package sets that are both explicit and dependencies of other package sets gracefully (issue#30)" do
|
13
|
-
pkg_set0 = flexmock('set0', imports: [], explicit?: true)
|
14
|
-
pkg_set1 = flexmock('set1', imports: [pkg_set0], explicit?: true)
|
15
|
-
root_pkg_set = flexmock('root', imports: [pkg_set0, pkg_set1], explicit?: true)
|
16
|
-
assert_equal [pkg_set0, pkg_set1, root_pkg_set],
|
17
|
-
ops.sort_package_sets_by_import_order([pkg_set1, pkg_set0], root_pkg_set)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
data/test/ops/test_snapshot.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'autoproj/test'
|
2
|
-
|
3
|
-
module Autoproj
|
4
|
-
module Ops
|
5
|
-
describe Snapshot do
|
6
|
-
attr_reader :manifest
|
7
|
-
before do
|
8
|
-
@manifest = create_bootstrap
|
9
|
-
end
|
10
|
-
|
11
|
-
describe ".update_log_available?" do
|
12
|
-
it "returns false if the main configuration is not managed by git" do
|
13
|
-
assert !Snapshot.update_log_available?(manifest)
|
14
|
-
end
|
15
|
-
it "returns true if the main configuration is managed by git even if it is not declared" do
|
16
|
-
system("git", "init", chdir: Autoproj.config_dir, STDOUT => :close)
|
17
|
-
assert Snapshot.update_log_available?(manifest)
|
18
|
-
end
|
19
|
-
it "returns true if the main configuration is managed by git and it is declared" do
|
20
|
-
manifest.main_package_set.vcs = VCSDefinition.from_raw('type' => 'git', 'url' => Autoproj.config_dir)
|
21
|
-
assert Snapshot.update_log_available?(manifest)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
Package: noninstalled-package
|
2
|
-
Status: bla
|
3
|
-
Priority: optional
|
4
|
-
Section: unknown
|
5
|
-
Installed-Size: 17480
|
6
|
-
Maintainer: Ruben Smits
|
7
|
-
Architecture: amd64
|
8
|
-
Version: 0.2.3-s1336530597~oneiric
|
9
|
-
Depends: ros-electric-ros (= 1.6.9-s1336528271~oneiric), ros-electric-common-rosdeps (= 1.0.2-s1336530376~oneiric), build-essential, python-yaml, cmake, subversion, python-sip-dev, libc6, libeigen3-dev, libcppunit-dev, pkg-config
|
10
|
-
Description: orocos_kinematics_dynamics
|
11
|
-
orocos_kinematics_dynamics
|
12
|
-
Wg-Rosdistro: electric
|
13
|
-
|
14
|
-
Package: installed-package
|
15
|
-
Status: install ok installed
|
16
|
-
Priority: optional
|
17
|
-
Section: x11
|
18
|
-
Installed-Size: 114
|
19
|
-
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
20
|
-
Architecture: amd64
|
21
|
-
Version: 1:12.9.0-0ubuntu0.1
|
22
|
-
Provides: xorg-driver-input
|
23
|
-
Depends: libc6 (>= 2.7), xorg-input-abi-16, xserver-xorg-core (>= 2:1.10.99.901), xserver-xorg-input-mouse, udev
|
24
|
-
Description: X.Org X server -- VMMouse input driver to use with VMWare
|
25
|
-
This package provides the driver for the X11 vmmouse input device.
|
26
|
-
.
|
27
|
-
The VMMouse driver enables support for the special VMMouse protocol
|
28
|
-
that is provided by VMware virtual machines to give absolute pointer
|
29
|
-
positioning.
|
30
|
-
.
|
31
|
-
The vmmouse driver is capable of falling back to the standard "mouse"
|
32
|
-
driver if a VMware virtual machine is not detected. This allows for
|
33
|
-
dual-booting of an operating system from a virtual machine to real hardware
|
34
|
-
without having to edit xorg.conf every time.
|
35
|
-
.
|
36
|
-
More information about X.Org can be found at:
|
37
|
-
<URL:http://www.X.org>
|
38
|
-
.
|
39
|
-
This package is built from the X.org xf86-input-vmmouse driver module.
|
40
|
-
Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
|
41
|
-
|
@@ -1,27 +0,0 @@
|
|
1
|
-
Package: installed-package
|
2
|
-
Status: install ok installed
|
3
|
-
Priority: optional
|
4
|
-
Section: x11
|
5
|
-
Installed-Size: 114
|
6
|
-
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
7
|
-
Architecture: amd64
|
8
|
-
Version: 1:12.9.0-0ubuntu0.1
|
9
|
-
Provides: xorg-driver-input
|
10
|
-
Depends: libc6 (>= 2.7), xorg-input-abi-16, xserver-xorg-core (>= 2:1.10.99.901), xserver-xorg-input-mouse, udev
|
11
|
-
Description: X.Org X server -- VMMouse input driver to use with VMWare
|
12
|
-
This package provides the driver for the X11 vmmouse input device.
|
13
|
-
.
|
14
|
-
The VMMouse driver enables support for the special VMMouse protocol
|
15
|
-
that is provided by VMware virtual machines to give absolute pointer
|
16
|
-
positioning.
|
17
|
-
.
|
18
|
-
The vmmouse driver is capable of falling back to the standard "mouse"
|
19
|
-
driver if a VMware virtual machine is not detected. This allows for
|
20
|
-
dual-booting of an operating system from a virtual machine to real hardware
|
21
|
-
without having to edit xorg.conf every time.
|
22
|
-
.
|
23
|
-
More information about X.Org can be found at:
|
24
|
-
<URL:http://www.X.org>
|
25
|
-
.
|
26
|
-
This package is built from the X.org xf86-input-vmmouse driver module.
|
27
|
-
Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
|
@@ -1,12 +0,0 @@
|
|
1
|
-
Package: noninstalled-package
|
2
|
-
Status: bla
|
3
|
-
Priority: optional
|
4
|
-
Section: unknown
|
5
|
-
Installed-Size: 17480
|
6
|
-
Maintainer: Ruben Smits
|
7
|
-
Architecture: amd64
|
8
|
-
Version: 0.2.3-s1336530597~oneiric
|
9
|
-
Depends: ros-electric-ros (= 1.6.9-s1336528271~oneiric), ros-electric-common-rosdeps (= 1.0.2-s1336530376~oneiric), build-essential, python-yaml, cmake, subversion, python-sip-dev, libc6, libeigen3-dev, libcppunit-dev, pkg-config
|
10
|
-
Description: orocos_kinematics_dynamics
|
11
|
-
orocos_kinematics_dynamics
|
12
|
-
Wg-Rosdistro: electric
|
@@ -1,41 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__))
|
2
|
-
require 'test/unit'
|
3
|
-
require 'autoproj'
|
4
|
-
require 'flexmock/test_unit'
|
5
|
-
|
6
|
-
class TC_OSDependencies_AptDpkgManager < Test::Unit::TestCase
|
7
|
-
def test_status_file_parsing
|
8
|
-
file = File.expand_path("apt-dpkg-status", File.dirname(__FILE__))
|
9
|
-
mng = Autoproj::PackageManagers::AptDpkgManager.new(file)
|
10
|
-
assert mng.installed?('installed-package')
|
11
|
-
assert !mng.installed?('noninstalled-package')
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_status_file_parsing_is_robust_to_invalid_utf8
|
15
|
-
Tempfile.open 'osdeps_aptdpkg' do |io|
|
16
|
-
io.puts "Package: \x80\nStatus: installed ok install\n\nPackage: installed\nStatus: installed ok install"
|
17
|
-
io.flush
|
18
|
-
mng = Autoproj::PackageManagers::AptDpkgManager.new(io.path)
|
19
|
-
mng.installed?('installed')
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_status_file_parsing_last_entry_installed
|
24
|
-
file = File.expand_path("apt-dpkg-status.installed-last", File.dirname(__FILE__))
|
25
|
-
mng = Autoproj::PackageManagers::AptDpkgManager.new(file)
|
26
|
-
assert mng.installed?('installed-package')
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_status_file_parsing_last_entry_not_installed
|
30
|
-
file = File.expand_path("apt-dpkg-status.noninstalled-last", File.dirname(__FILE__))
|
31
|
-
mng = Autoproj::PackageManagers::AptDpkgManager.new(file)
|
32
|
-
assert !mng.installed?('noninstalled-package')
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_status_file_parsing_not_there_means_not_installed
|
36
|
-
file = File.expand_path("apt-dpkg-status.noninstalled-last", File.dirname(__FILE__))
|
37
|
-
mng = Autoproj::PackageManagers::AptDpkgManager.new(file)
|
38
|
-
assert !mng.installed?('non-existent-package')
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
@@ -1,156 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__))
|
2
|
-
require 'test/unit'
|
3
|
-
require 'autoproj'
|
4
|
-
require 'flexmock/test_unit'
|
5
|
-
|
6
|
-
class TC_OSDependencies_Gem < Test::Unit::TestCase
|
7
|
-
include Autoproj
|
8
|
-
FOUND_PACKAGES = Autoproj::OSDependencies::FOUND_PACKAGES
|
9
|
-
FOUND_NONEXISTENT = Autoproj::OSDependencies::FOUND_NONEXISTENT
|
10
|
-
|
11
|
-
attr_reader :gem_manager
|
12
|
-
attr_reader :gem_fetcher
|
13
|
-
attr_reader :gem_spec
|
14
|
-
|
15
|
-
def setup
|
16
|
-
Autoproj::OSDependencies.operating_system = [['test', 'debian', 'default'], ['v1.0', 'v1', 'default']]
|
17
|
-
|
18
|
-
@gem_manager = PackageManagers::GemManager.new
|
19
|
-
@gem_fetcher = flexmock("fake gem fetcher")
|
20
|
-
gem_manager.gem_fetcher = gem_fetcher
|
21
|
-
@gem_spec = flexmock(Gem::Specification)
|
22
|
-
Autobuild.programs['gem'] = 'mygem'
|
23
|
-
super
|
24
|
-
end
|
25
|
-
|
26
|
-
def teardown
|
27
|
-
super
|
28
|
-
PackageManagers::GemManager.with_prerelease = false
|
29
|
-
PackageManagers::GemManager.with_doc = false
|
30
|
-
Autobuild.programs['gem'] = nil
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_filter_uptodate_packages_passes_prerelease_flag
|
34
|
-
fake_installed_package = flexmock("fake installed pgk0", :version => Gem::Version.new("1.0.0"))
|
35
|
-
PackageManagers::GemManager.with_prerelease = true
|
36
|
-
|
37
|
-
dep = Gem::Dependency.new("pkg0", Gem::Requirement.new('>= 0.9'))
|
38
|
-
gem_spec.should_receive(:find_by_name).with('pkg0', Gem::Requirement.new('>= 0.9')).and_return(fake_installed_package)
|
39
|
-
gem_fetcher.should_receive("find_matching").with(dep, true, true, true).
|
40
|
-
and_return([[["pkg0", Gem::Version.new("1.1.0")], nil]])
|
41
|
-
assert_equal [['pkg0', '>= 0.9']], gem_manager.filter_uptodate_packages([['pkg0', '>= 0.9']])
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_filter_uptodate_packages_with_no_installed_package
|
45
|
-
dep = Gem::Dependency.new("pkg0", Gem::Requirement.new('>= 0'))
|
46
|
-
gem_spec.should_receive(:find_by_name).with('pkg0', Gem::Requirement.new('>= 0')).and_raise(Gem::LoadError)
|
47
|
-
gem_fetcher.should_receive("find_matching").with(dep, true, true, false).
|
48
|
-
and_return([[["pkg0", Gem::Version.new("1.0.0")], nil]])
|
49
|
-
assert_equal [['pkg0']], gem_manager.filter_uptodate_packages([['pkg0']])
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_filter_uptodate_packages_passes_version_specification
|
53
|
-
dep = Gem::Dependency.new("pkg0", Gem::Requirement.new('>= 0.9'))
|
54
|
-
gem_spec.should_receive(:find_by_name).with('pkg0', Gem::Requirement.new('>= 0.9')).and_raise(Gem::LoadError)
|
55
|
-
gem_fetcher.should_receive("find_matching").with(dep, true, true, false).
|
56
|
-
and_return([[["pkg0", Gem::Version.new("1.0.0")], nil]])
|
57
|
-
assert_equal [['pkg0', '>= 0.9']], gem_manager.filter_uptodate_packages([['pkg0', '>= 0.9']])
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_filter_uptodate_packages_with_outdated_package
|
61
|
-
fake_installed_package = flexmock("fake installed pgk0", :version => Gem::Version.new("1.0.0"))
|
62
|
-
|
63
|
-
dep = Gem::Dependency.new("pkg0", Gem::Requirement.new('>= 0.9'))
|
64
|
-
gem_spec.should_receive(:find_by_name).with('pkg0', Gem::Requirement.new('>= 0.9')).and_return(fake_installed_package)
|
65
|
-
gem_fetcher.should_receive("find_matching").with(dep, true, true, false).
|
66
|
-
and_return([[["pkg0", Gem::Version.new("1.1.0")], nil]])
|
67
|
-
assert_equal [['pkg0', '>= 0.9']], gem_manager.filter_uptodate_packages([['pkg0', '>= 0.9']])
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_filter_uptodate_packages_with_same_package
|
71
|
-
fake_installed_package = flexmock("fake installed pgk0", :version => Gem::Version.new("1.0.0"))
|
72
|
-
|
73
|
-
dep = Gem::Dependency.new("pkg0", Gem::Requirement.new('>= 0'))
|
74
|
-
gem_spec.should_receive(:find_by_name).with('pkg0', Gem::Requirement.new('>= 0')).and_return(fake_installed_package)
|
75
|
-
gem_fetcher.should_receive("find_matching").with(dep, true, true, false).
|
76
|
-
and_return([[["pkg0", Gem::Version.new("1.0.0")], nil]])
|
77
|
-
assert_equal [], gem_manager.filter_uptodate_packages([['pkg0']])
|
78
|
-
end
|
79
|
-
|
80
|
-
def test_filter_uptodate_packages_with_newer_installed_package
|
81
|
-
fake_installed_package = flexmock("fake installed pgk0", :version => Gem::Version.new("1.1.0"))
|
82
|
-
|
83
|
-
dep = Gem::Dependency.new("pkg0", Gem::Requirement.new('>= 0.9'))
|
84
|
-
gem_spec.should_receive(:find_by_name).with('pkg0', Gem::Requirement.new('>= 0.9')).and_return(fake_installed_package)
|
85
|
-
gem_fetcher.should_receive("find_matching").with(dep, true, true, false).
|
86
|
-
and_return([[["pkg0", Gem::Version.new("1.0.0")], nil]])
|
87
|
-
assert_equal [], gem_manager.filter_uptodate_packages([['pkg0', '>= 0.9']])
|
88
|
-
end
|
89
|
-
|
90
|
-
# Helper to have a shortcut for the default install options
|
91
|
-
def default_install_options
|
92
|
-
Autoproj::PackageManagers::GemManager.default_install_options
|
93
|
-
end
|
94
|
-
|
95
|
-
def test_install_packages
|
96
|
-
PackageManagers::GemManager.with_prerelease = false
|
97
|
-
PackageManagers::GemManager.with_doc = false
|
98
|
-
subprocess = flexmock(Autobuild::Subprocess)
|
99
|
-
|
100
|
-
packages = [['pkg0'], ['pkg1', '>= 0.5'], ['pkg2'], ['pkg3', '>= 0.9']]
|
101
|
-
subprocess.should_receive(:run).
|
102
|
-
with(any, any, any, any, 'mygem', 'install', *default_install_options, '--no-rdoc', '--no-ri', 'pkg0', 'pkg2').once
|
103
|
-
subprocess.should_receive(:run).
|
104
|
-
with(any, any, any, any, 'mygem', 'install', *default_install_options, '--no-rdoc', '--no-ri', 'pkg1', '-v', '>= 0.5').once
|
105
|
-
subprocess.should_receive(:run).
|
106
|
-
with(any, any, any, any, 'mygem', 'install', *default_install_options, '--no-rdoc', '--no-ri', 'pkg3', '-v', '>= 0.9').once
|
107
|
-
gem_manager.install(packages)
|
108
|
-
end
|
109
|
-
|
110
|
-
def test_install_packages_with_doc
|
111
|
-
PackageManagers::GemManager.with_prerelease = false
|
112
|
-
PackageManagers::GemManager.with_doc = true
|
113
|
-
subprocess = flexmock(Autobuild::Subprocess)
|
114
|
-
|
115
|
-
packages = [['pkg0']]
|
116
|
-
subprocess.should_receive(:run).
|
117
|
-
with(any, any, any, any, 'mygem', 'install', *default_install_options, 'pkg0').once
|
118
|
-
gem_manager.install([['pkg0']])
|
119
|
-
end
|
120
|
-
|
121
|
-
def test_install_packages_with_prerelease
|
122
|
-
PackageManagers::GemManager.with_prerelease = true
|
123
|
-
PackageManagers::GemManager.with_doc = true
|
124
|
-
subprocess = flexmock(Autobuild::Subprocess)
|
125
|
-
|
126
|
-
subprocess.should_receive(:run).
|
127
|
-
with(any, any, any, any, 'mygem', 'install', *default_install_options, '--prerelease', 'pkg0').once
|
128
|
-
gem_manager.install([['pkg0']])
|
129
|
-
end
|
130
|
-
|
131
|
-
def test_install_packages_disabled_and_silent
|
132
|
-
PackageManagers::GemManager.with_prerelease = true
|
133
|
-
PackageManagers::GemManager.with_doc = true
|
134
|
-
subprocess = flexmock(Autobuild::Subprocess)
|
135
|
-
gem_manager.enabled = false
|
136
|
-
gem_manager.silent = true
|
137
|
-
|
138
|
-
subprocess.should_receive(:run).never
|
139
|
-
flexmock(STDIN).should_receive(:readline).never.and_return
|
140
|
-
gem_manager.install([['pkg0']])
|
141
|
-
end
|
142
|
-
|
143
|
-
def test_install_packages_disabled_and_not_silent
|
144
|
-
PackageManagers::GemManager.with_prerelease = true
|
145
|
-
PackageManagers::GemManager.with_doc = true
|
146
|
-
subprocess = flexmock(Autobuild::Subprocess)
|
147
|
-
gem_manager.enabled = false
|
148
|
-
gem_manager.silent = false
|
149
|
-
|
150
|
-
subprocess.should_receive(:run).never
|
151
|
-
flexmock(STDIN).should_receive(:readline).once.and_return
|
152
|
-
gem_manager.install([['pkg0']])
|
153
|
-
end
|
154
|
-
end
|
155
|
-
|
156
|
-
|