Add testing framework; add test for budget-vm