|
@@ -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));
|
|
|
});
|