From e02bf717b9ce644605aa96abb4e63a1fe2876a84 Mon Sep 17 00:00:00 2001 From: sophia Date: Thu, 22 Oct 2020 14:59:34 -0500 Subject: [PATCH] Fully replace :nfs option with :type => :nfs for synced folders --- plugins/kernel_v2/config/vm.rb | 9 +++++---- test/unit/plugins/kernel_v2/config/vm_test.rb | 13 +++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/plugins/kernel_v2/config/vm.rb b/plugins/kernel_v2/config/vm.rb index a016cd3a0..a4af45847 100644 --- a/plugins/kernel_v2/config/vm.rb +++ b/plugins/kernel_v2/config/vm.rb @@ -277,6 +277,11 @@ module VagrantPlugins options ||= {} + if options[:nfs] + options[:type] = :nfs + options.delete(:nfs) + end + if options.has_key?(:name) synced_folder_name = options.delete(:name) else @@ -654,10 +659,6 @@ module VagrantPlugins current_dir_shared = false @__synced_folders.each do |id, options| - if options[:nfs] - options[:type] = :nfs - end - if options[:hostpath] == '.' current_dir_shared = true end diff --git a/test/unit/plugins/kernel_v2/config/vm_test.rb b/test/unit/plugins/kernel_v2/config/vm_test.rb index 243759de8..d35cf3a9a 100644 --- a/test/unit/plugins/kernel_v2/config/vm_test.rb +++ b/test/unit/plugins/kernel_v2/config/vm_test.rb @@ -710,6 +710,19 @@ describe VagrantPlugins::Kernel_V2::VMConfig do expect(sf["/vagrant"][:foo]).to eq(:bar) end + # This is a little bit of a special case since nfs can be specified + # as `type: "nfs"` or `nfs: true` + it "properly overrides nfs" do + subject.synced_folder(".", "/vagrant", nfs: true) + subject.synced_folder(".", "/vagrant", type: "rsync") + subject.finalize! + sf = subject.synced_folders + expect(sf.length).to eq(1) + expect(sf).to have_key("/vagrant") + expect(sf["/vagrant"][:type]).to be(:rsync) + expect(sf["/vagrant"][:nfs]).to eq(nil) + end + it "is not an error if guest path is empty but name is not" do subject.synced_folder(".", "", name: "my-vagrant-folder") subject.finalize!