1234567891011121314151617181920212223242526272829303132333435 |
- const { internalTask } = require('hardhat/config');
- 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');
- 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'))
- .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)),
- });
- });
|