Skip to content

Commit

Permalink
Merge branch '1243-vatPowers-testLog'
Browse files Browse the repository at this point in the history
Remove use of `helpers.log` from all tests, replacing them with
`vatPowers.testLog`. This moves everything outside of swingset's internal
tests to using `buildRootObject` instead of `setup`, reducing the supported
API surface so we can do more cleanup work.

refs #1243
  • Loading branch information
warner committed Jul 24, 2020
2 parents 12bf8e7 + ecd86bc commit b95e9b1
Show file tree
Hide file tree
Showing 73 changed files with 561 additions and 1,074 deletions.
20 changes: 2 additions & 18 deletions packages/ERTP/test/swingsetTests/splitPayments/bootstrap.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
import { E } from '@agoric/eventual-send';
import makeIssuerKit from '../../../src/issuer';

function build(log) {
export function buildRootObject(vatPowers) {
function testSplitPayments(aliceMaker) {
log('start test splitPayments');
vatPowers.testLog('start test splitPayments');
const { mint: moolaMint, issuer, amountMath } = makeIssuerKit('moola');
const moolaPayment = moolaMint.mintPayment(amountMath.make(1000));

Expand All @@ -27,19 +27,3 @@ function build(log) {
};
return harden(obj0);
}
harden(build);

function setup(syscall, state, helpers) {
function log(...args) {
helpers.log(...args);
console.log(...args);
}
log(`=> setup called`);
return helpers.makeLiveSlots(
syscall,
state,
_vatPowers => build(log),
helpers.vatID,
);
}
export default harden(setup);
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ async function main(basedir, argv) {
}

const expectedTapFaucetLog = [
'=> setup called',
'start test splitPayments',
'oldPayment balance:{"brand":{},"value":1000}',
'splitPayment[0] balance: {"brand":{},"value":10}',
Expand Down
19 changes: 6 additions & 13 deletions packages/ERTP/test/swingsetTests/splitPayments/vat-alice.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,10 @@ function makeAliceMaker(log) {
});
}

function setup(syscall, state, helpers) {
function log(...args) {
helpers.log(...args);
console.log(...args);
}
return helpers.makeLiveSlots(syscall, state, _vatPowers =>
harden({
makeAliceMaker(host) {
return harden(makeAliceMaker(log, host));
},
}),
);
export function buildRootObject(vatPowers) {
return harden({
makeAliceMaker(host) {
return harden(makeAliceMaker(vatPowers.testLog, host));
},
});
}
export default harden(setup);
48 changes: 19 additions & 29 deletions packages/SwingSet/demo/encouragementBot/bootstrap.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,23 @@ import { E } from '@agoric/eventual-send';

console.log(`=> loading bootstrap.js`);

export default function setup(syscall, state, helpers) {
function log(what) {
helpers.log(what);
console.log(what);
}
log(`=> setup called`);
return helpers.makeLiveSlots(
syscall,
state,
_vatPowers =>
harden({
bootstrap(argv, vats) {
console.log('=> bootstrap() called');
E(vats.user)
.talkToBot(vats.bot, 'encouragementBot')
.then(
r =>
log(
`=> the promise given by the call to user.talkToBot resolved to '${r}'`,
),
err =>
log(
`=> the promise given by the call to user.talkToBot was rejected '${err}''`,
),
);
},
}),
helpers.vatID,
);
export function buildRootObject(vatPowers) {
const log = vatPowers.testLog;
return harden({
bootstrap(argv, vats) {
console.log('=> bootstrap() called');
E(vats.user)
.talkToBot(vats.bot, 'encouragementBot')
.then(
r =>
log(
`=> the promise given by the call to user.talkToBot resolved to '${r}'`,
),
err =>
log(
`=> the promise given by the call to user.talkToBot was rejected '${err}''`,
),
);
},
});
}
27 changes: 9 additions & 18 deletions packages/SwingSet/demo/encouragementBot/vat-bot.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,12 @@
/* global harden */

export default function setup(syscall, state, helpers) {
function log(what) {
helpers.log(what);
console.log(what);
}

return helpers.makeLiveSlots(
syscall,
state,
_vatPowers =>
harden({
encourageMe(name) {
log(`=> encouragementBot.encourageMe got the name: ${name}`);
return `${name}, you are awesome, keep it up!`;
},
}),
helpers.vatID,
);
export function buildRootObject(vatPowers) {
return harden({
encourageMe(name) {
vatPowers.testLog(
`=> encouragementBot.encourageMe got the name: ${name}`,
);
return `${name}, you are awesome, keep it up!`;
},
});
}
35 changes: 13 additions & 22 deletions packages/SwingSet/demo/encouragementBot/vat-user.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,17 @@
/* global harden */
import { E } from '@agoric/eventual-send';

export default function setup(syscall, state, helpers) {
function log(what) {
helpers.log(what);
console.log(what);
}
return helpers.makeLiveSlots(
syscall,
state,
_vatPowers =>
harden({
talkToBot(bot, botName) {
log(`=> user.talkToBot is called with ${botName}`);
E(bot)
.encourageMe('user')
.then(myEncouragement =>
log(`=> user receives the encouragement: ${myEncouragement}`),
);
return 'Thanks for the setup. I sure hope I get some encouragement...';
},
}),
helpers.vatID,
);
export function buildRootObject(vatPowers) {
const log = vatPowers.testLog;
return harden({
talkToBot(bot, botName) {
log(`=> user.talkToBot is called with ${botName}`);
E(bot)
.encourageMe('user')
.then(myEncouragement =>
log(`=> user receives the encouragement: ${myEncouragement}`),
);
return 'Thanks for the setup. I sure hope I get some encouragement...';
},
});
}
115 changes: 52 additions & 63 deletions packages/SwingSet/demo/encouragementBotComms/bootstrap.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,72 +4,61 @@ import { E } from '@agoric/eventual-send';

console.log(`=> loading bootstrap.js`);

export default function setup(syscall, state, helpers) {
function log(what) {
helpers.log(what);
console.log(what);
}
log(`=> setup called`);
return helpers.makeLiveSlots(
syscall,
state,
vatPowers =>
harden({
async bootstrap(argv, vats, devices) {
const { D } = vatPowers;
console.log('=> bootstrap() called');
export function buildRootObject(vatPowers) {
const { D, testLog: log } = vatPowers;
return harden({
async bootstrap(argv, vats, devices) {
console.log('=> bootstrap() called');

const BOT = 'bot';
const USER = 'user';
const BOT_CLIST_INDEX = 0;
const BOT = 'bot';
const USER = 'user';
const BOT_CLIST_INDEX = 0;

D(devices.loopbox).registerInboundHandler(USER, vats.uservattp);
const usersender = D(devices.loopbox).makeSender(USER);
await E(vats.uservattp).registerMailboxDevice(usersender);
const {
transmitter: txToBotForUser,
setReceiver: setRxFromBotForUser,
} = await E(vats.uservattp).addRemote(BOT);
await E(vats.usercomms).addRemote(
BOT,
txToBotForUser,
setRxFromBotForUser,
);
D(devices.loopbox).registerInboundHandler(USER, vats.uservattp);
const usersender = D(devices.loopbox).makeSender(USER);
await E(vats.uservattp).registerMailboxDevice(usersender);
const {
transmitter: txToBotForUser,
setReceiver: setRxFromBotForUser,
} = await E(vats.uservattp).addRemote(BOT);
await E(vats.usercomms).addRemote(
BOT,
txToBotForUser,
setRxFromBotForUser,
);

D(devices.loopbox).registerInboundHandler(BOT, vats.botvattp);
const botsender = D(devices.loopbox).makeSender(BOT);
await E(vats.botvattp).registerMailboxDevice(botsender);
const {
transmitter: txToUserForBot,
setReceiver: setRxFromUserForBot,
} = await E(vats.botvattp).addRemote(USER);
await E(vats.botcomms).addRemote(
USER,
txToUserForBot,
setRxFromUserForBot,
);
D(devices.loopbox).registerInboundHandler(BOT, vats.botvattp);
const botsender = D(devices.loopbox).makeSender(BOT);
await E(vats.botvattp).registerMailboxDevice(botsender);
const {
transmitter: txToUserForBot,
setReceiver: setRxFromUserForBot,
} = await E(vats.botvattp).addRemote(USER);
await E(vats.botcomms).addRemote(
USER,
txToUserForBot,
setRxFromUserForBot,
);

await E(vats.botcomms).addEgress(
USER,
BOT_CLIST_INDEX, // this would normally be autogenerated
vats.bot,
);
await E(vats.botcomms).addEgress(
USER,
BOT_CLIST_INDEX, // this would normally be autogenerated
vats.bot,
);

const pPBot = E(vats.usercomms).addIngress(BOT, BOT_CLIST_INDEX);
E(vats.user)
.talkToBot(pPBot, 'bot')
.then(
r =>
log(
`=> the promise given by the call to user.talkToBot resolved to '${r}'`,
),
err =>
log(
`=> the promise given by the call to user.talkToBot was rejected '${err}''`,
),
);
},
}),
helpers.vatID,
);
const pPBot = E(vats.usercomms).addIngress(BOT, BOT_CLIST_INDEX);
E(vats.user)
.talkToBot(pPBot, 'bot')
.then(
r =>
log(
`=> the promise given by the call to user.talkToBot resolved to '${r}'`,
),
err =>
log(
`=> the promise given by the call to user.talkToBot was rejected '${err}''`,
),
);
},
});
}
27 changes: 9 additions & 18 deletions packages/SwingSet/demo/encouragementBotComms/vat-bot.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,12 @@
/* global harden */

export default function setup(syscall, state, helpers) {
function log(what) {
helpers.log(what);
console.log(what);
}

return helpers.makeLiveSlots(
syscall,
state,
_vatPowers =>
harden({
encourageMe(name) {
log(`=> encouragementBot.encourageMe got the name: ${name}`);
return `${name}, you are awesome, keep it up!`;
},
}),
helpers.vatID,
);
export function buildRootObject(vatPowers) {
return harden({
encourageMe(name) {
vatPowers.testLog(
`=> encouragementBot.encourageMe got the name: ${name}`,
);
return `${name}, you are awesome, keep it up!`;
},
});
}
4 changes: 2 additions & 2 deletions packages/SwingSet/demo/encouragementBotComms/vat-botcomms.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import buildCommsDispatch from '../../src/vats/comms';

export default function setup(syscall, state, helpers) {
return buildCommsDispatch(syscall, state, helpers);
export default function setup(syscall, _state, _helpers, _vatPowers) {
return buildCommsDispatch(syscall);
}
35 changes: 13 additions & 22 deletions packages/SwingSet/demo/encouragementBotComms/vat-user.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,17 @@

import { E } from '@agoric/eventual-send';

export default function setup(syscall, state, helpers) {
function log(what) {
helpers.log(what);
console.log(what);
}
return helpers.makeLiveSlots(
syscall,
state,
_vatPowers =>
harden({
talkToBot(pbot, botName) {
log(`=> user.talkToBot is called with ${botName}`);
E(pbot)
.encourageMe('user')
.then(myEncouragement =>
log(`=> user receives the encouragement: ${myEncouragement}`),
);
return 'Thanks for the setup. I sure hope I get some encouragement...';
},
}),
helpers.vatID,
);
export function buildRootObject(vatPowers) {
const log = vatPowers.testLog;
return harden({
talkToBot(pbot, botName) {
log(`=> user.talkToBot is called with ${botName}`);
E(pbot)
.encourageMe('user')
.then(myEncouragement =>
log(`=> user receives the encouragement: ${myEncouragement}`),
);
return 'Thanks for the setup. I sure hope I get some encouragement...';
},
});
}
4 changes: 2 additions & 2 deletions packages/SwingSet/demo/encouragementBotComms/vat-usercomms.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import buildCommsDispatch from '../../src/vats/comms';

export default function setup(syscall, state, helpers) {
return buildCommsDispatch(syscall, state, helpers);
export default function setup(syscall, _state, _helpers, _vatPowers) {
return buildCommsDispatch(syscall);
}
Loading

0 comments on commit b95e9b1

Please sign in to comment.