|
|
|
@ -3,33 +3,23 @@ const { TASK_TEST_GET_TEST_FILES } = require('hardhat/builtin-tasks/task-names') |
|
|
|
|
|
|
|
|
|
// Modifies `hardhat test` to skip the proxy tests after proxies are removed by the transpiler for upgradeability.
|
|
|
|
|
|
|
|
|
|
internalTask(TASK_TEST_GET_TEST_FILES).setAction(async ({ testFiles }, { config }) => { |
|
|
|
|
if (testFiles.length !== 0) { |
|
|
|
|
return testFiles; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const globAsync = require('glob'); |
|
|
|
|
internalTask(TASK_TEST_GET_TEST_FILES).setAction(async (args, hre, runSuper) => { |
|
|
|
|
const path = require('path'); |
|
|
|
|
const { promises: fs } = require('fs'); |
|
|
|
|
const { promisify } = require('util'); |
|
|
|
|
|
|
|
|
|
const glob = promisify(globAsync); |
|
|
|
|
|
|
|
|
|
const hasProxies = await fs |
|
|
|
|
.access(path.join(config.paths.sources, 'proxy/Proxy.sol')) |
|
|
|
|
.access(path.join(hre.config.paths.sources, 'proxy/Proxy.sol')) |
|
|
|
|
.then(() => true) |
|
|
|
|
.catch(() => false); |
|
|
|
|
|
|
|
|
|
return await glob(path.join(config.paths.tests, '**/*.js'), { |
|
|
|
|
ignore: hasProxies |
|
|
|
|
? [] |
|
|
|
|
: [ |
|
|
|
|
'proxy/beacon/BeaconProxy.test.js', |
|
|
|
|
'proxy/beacon/UpgradeableBeacon.test.js', |
|
|
|
|
'proxy/ERC1967/ERC1967Proxy.test.js', |
|
|
|
|
'proxy/transparent/ProxyAdmin.test.js', |
|
|
|
|
'proxy/transparent/TransparentUpgradeableProxy.test.js', |
|
|
|
|
'proxy/utils/UUPSUpgradeable.test.js', |
|
|
|
|
].map(p => path.join(config.paths.tests, p)), |
|
|
|
|
}); |
|
|
|
|
const ignoredIfProxy = [ |
|
|
|
|
'proxy/beacon/BeaconProxy.test.js', |
|
|
|
|
'proxy/beacon/UpgradeableBeacon.test.js', |
|
|
|
|
'proxy/ERC1967/ERC1967Proxy.test.js', |
|
|
|
|
'proxy/transparent/ProxyAdmin.test.js', |
|
|
|
|
'proxy/transparent/TransparentUpgradeableProxy.test.js', |
|
|
|
|
'proxy/utils/UUPSUpgradeable.test.js', |
|
|
|
|
].map(p => path.join(hre.config.paths.tests, p)); |
|
|
|
|
|
|
|
|
|
return (await runSuper(args)).filter(file => hasProxies || !ignoredIfProxy.includes(file)); |
|
|
|
|
}); |
|
|
|
|