contrib/vagrant/Vagrantfile
author Durham Goode <durham@fb.com>
Wed, 15 Mar 2017 15:48:57 -0700
changeset 31463 a5bad127128d
parent 26140 a31ffc445f02
child 43557 7fd16ddabaa0
permissions -rw-r--r--
branchmap: handle nullrev in setcachedata 906be86990 recently changed to switch from: self._rbcrevs[rbcrevidx:rbcrevidx + _rbcrecsize] = rec to pack_into(_rbcrecfmt, self._rbcrevs, rbcrevidx, node, branchidx) This causes an exception if rbcrevidx is -1 (i.e. the nullrev). The old code handled this because python handles out of bound sets to arrays gracefully. The new code throws because the self._rbcrevs buffer isn't long enough to write 8 bytes to. Normally it would've been resized by the immediately preceding line, but because the 0 length buffer is greater than the idx (-1) times the size, no resize happens. Setting the branch for the nullrev doesn't make sense anyway, so let's skip it. This was caught by external tests in the Facebook extensions repo, but I've added a test here that catches the issue.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21874
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
     1
# -*- mode: ruby -*-
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
     2
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
     3
Vagrant.configure('2') do |config|
26140
a31ffc445f02 vagrant: update to official Debian 8.1 base box
Kevin Bullock <kbullock@ringworld.org>
parents: 21874
diff changeset
     4
  # Debian 8.1 x86_64 without configuration management software
a31ffc445f02 vagrant: update to official Debian 8.1 base box
Kevin Bullock <kbullock@ringworld.org>
parents: 21874
diff changeset
     5
  config.vm.box = "debian/jessie64"
21874
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
     6
  config.vm.hostname = "tests"
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
     7
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
     8
  config.vm.define "tests" do |conf|
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
     9
    conf.vm.provision :file, source: "run-tests.sh", destination:"run-tests.sh"
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
    10
    conf.vm.provision :shell, path: "provision.sh"
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
    11
    conf.vm.synced_folder "../..", "/hgshared"
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
    12
  end
8da01b6e7b49 contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
diff changeset
    13
end