diff --git a/lib/config/cli.spec.ts b/lib/config/cli.spec.ts
index bf95f618d9d984cafafb6c1c1de3462259dc4d21..7e97cb21c5af4344bce26e41b27812fc7dc2d76b 100644
--- a/lib/config/cli.spec.ts
+++ b/lib/config/cli.spec.ts
@@ -4,7 +4,7 @@ import * as cli from './cli';
 import getArgv from './config/__fixtures__/argv';
 import type { RenovateOptions } from './types';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let argv: string[];
   beforeEach(() => {
     argv = getArgv();
diff --git a/lib/config/decrypt.spec.ts b/lib/config/decrypt.spec.ts
index c79072a5159fabd4debf695e4692cf3a647d0f4f..3dfc0b95ad73271b7f73d12eacf6684ca175ab22 100644
--- a/lib/config/decrypt.spec.ts
+++ b/lib/config/decrypt.spec.ts
@@ -3,9 +3,9 @@ import { setAdminConfig } from './admin';
 import { decryptConfig } from './decrypt';
 import type { RenovateConfig } from './types';
 
-const privateKey = loadFixture(__filename, 'private.pem', 'keys');
+const privateKey = loadFixture('private.pem', 'keys');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('decryptConfig()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/config/definitions.spec.ts b/lib/config/definitions.spec.ts
index 783525fad784cd5f32f455037e30956ae81c5751..d759496c8ccfdae53ccbf3cede1ef8c472d4b8a2 100644
--- a/lib/config/definitions.spec.ts
+++ b/lib/config/definitions.spec.ts
@@ -5,7 +5,7 @@ jest.mock('../manager', () => ({
   getManagers: jest.fn(() => new Map().set('testManager', {})),
 }));
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('test manager should have no defaultConfig', () => {
     const opts = getOptions();
     expect(opts.filter((o) => o.name === 'testManager')).toEqual([]);
diff --git a/lib/config/env.spec.ts b/lib/config/env.spec.ts
index 58a08bbfd431dec2a4783a292e5f2f1c8dea4fde..0f395003cad4bc8c7a5a18788264f7a92dacca73 100644
--- a/lib/config/env.spec.ts
+++ b/lib/config/env.spec.ts
@@ -6,7 +6,7 @@ import {
 import * as env from './env';
 import type { RenovateOptions } from './types';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.getConfig(env)', () => {
     it('returns empty env', () => {
       expect(env.getConfig({})).toEqual({ hostRules: [] });
diff --git a/lib/config/file.spec.ts b/lib/config/file.spec.ts
index a75f18e7e530fb8ae1c2c9de58c715fbedeeabb6..eaa768a8047bc15c69efa4d7f519bea806ab4c8f 100644
--- a/lib/config/file.spec.ts
+++ b/lib/config/file.spec.ts
@@ -5,7 +5,7 @@ import { getName } from '../../test/util';
 import customConfig from './config/__fixtures__/file';
 import * as file from './file';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let tmp: DirectoryResult;
 
   beforeAll(async () => {
diff --git a/lib/config/index.spec.ts b/lib/config/index.spec.ts
index 08dd9dd7f14d03558df6c7635e00f28e7b857046..a5a1c4da96f4cb939848cf41b16c7ad8d525d3d7 100644
--- a/lib/config/index.spec.ts
+++ b/lib/config/index.spec.ts
@@ -13,7 +13,7 @@ try {
 
 const defaultConfig = getConfig();
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.parseConfigs(env, defaultArgv)', () => {
     let configParser: typeof import('.');
     let defaultArgv: string[];
diff --git a/lib/config/massage.spec.ts b/lib/config/massage.spec.ts
index 19693d5a041230e36adffedee30c02e470fd322a..bcf9d4264748e275aca47c0ad3f9a95e7bf7ce85 100644
--- a/lib/config/massage.spec.ts
+++ b/lib/config/massage.spec.ts
@@ -2,7 +2,7 @@ import { getName } from '../../test/util';
 import * as massage from './massage';
 import type { RenovateConfig } from './types';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('massageConfig', () => {
     it('returns empty', () => {
       const config: RenovateConfig = {};
diff --git a/lib/config/migrate-validate.spec.ts b/lib/config/migrate-validate.spec.ts
index bd1de334b8a87d7b6e4d929d4196755e3c7c9248..806e227123ba764e855b061fd3c5ba99c006b620 100644
--- a/lib/config/migrate-validate.spec.ts
+++ b/lib/config/migrate-validate.spec.ts
@@ -7,7 +7,7 @@ beforeEach(() => {
   config = getConfig();
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('migrateAndValidate()', () => {
     it('handles empty', async () => {
       const res = await migrateAndValidate(config, {});
diff --git a/lib/config/migration.spec.ts b/lib/config/migration.spec.ts
index eb384c3abe331ebb68ff7c00681d6f92945248f9..32482d80fa3820734d36cb60725ae588e828b528 100644
--- a/lib/config/migration.spec.ts
+++ b/lib/config/migration.spec.ts
@@ -14,7 +14,7 @@ interface RenovateConfig extends _RenovateConfig {
   node?: RenovateSharedConfig & { supportPolicy?: unknown };
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('migrateConfig(config, parentConfig)', () => {
     it('migrates config', () => {
       const config: RenovateConfig = {
diff --git a/lib/config/presets/azure/index.spec.ts b/lib/config/presets/azure/index.spec.ts
index 03430d19e06f23f36cb73e0a71d7c0a92e5a9628..3c7e8467aaa54dd039cd5de6c9b4efd9da2568a1 100644
--- a/lib/config/presets/azure/index.spec.ts
+++ b/lib/config/presets/azure/index.spec.ts
@@ -10,7 +10,7 @@ jest.mock('../../../platform/azure/azure-got-wrapper');
 
 const azureApi = mocked(_azureApi);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeAll(() => {
     setPlatformApi('azure');
   });
diff --git a/lib/config/presets/bitbucket-server/index.spec.ts b/lib/config/presets/bitbucket-server/index.spec.ts
index 443d9643741b0210699e5c458f5150af033d94c9..4aaad95f332645b9929727998d5b0cdae19d3986 100644
--- a/lib/config/presets/bitbucket-server/index.spec.ts
+++ b/lib/config/presets/bitbucket-server/index.spec.ts
@@ -11,7 +11,7 @@ const hostRules = mocked(_hostRules);
 const bitbucketApiHost = 'https://git.company.org';
 const basePath = '/rest/api/1.0/projects/some/repos/repo/browse';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.setup();
     hostRules.find.mockReturnValue({ token: 'abc' });
diff --git a/lib/config/presets/bitbucket/index.spec.ts b/lib/config/presets/bitbucket/index.spec.ts
index f1f97b45d82fc7ca4ab76c362791d1b43c2e2140..cf26c9410dbfcd15d56d4f07358d5ec406cdf739 100644
--- a/lib/config/presets/bitbucket/index.spec.ts
+++ b/lib/config/presets/bitbucket/index.spec.ts
@@ -9,7 +9,7 @@ jest.unmock('../../../platform');
 const baseUrl = 'https://api.bitbucket.org';
 const basePath = '/2.0/repositories/some/repo/src/HEAD';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeAll(() => {
     setPlatformApi('bitbucket');
   });
diff --git a/lib/config/presets/gitea/index.spec.ts b/lib/config/presets/gitea/index.spec.ts
index 79baf2260ea97a1d4577c748e0f50579ce4e97c0..5582056521e852d3cc142b5c2e3aed1b95f88eae 100644
--- a/lib/config/presets/gitea/index.spec.ts
+++ b/lib/config/presets/gitea/index.spec.ts
@@ -12,7 +12,7 @@ const hostRules = mocked(_hostRules);
 const giteaApiHost = gitea.Endpoint;
 const basePath = '/repos/some/repo/contents';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.setup();
     hostRules.find.mockReturnValue({ token: 'abc' });
diff --git a/lib/config/presets/github/index.spec.ts b/lib/config/presets/github/index.spec.ts
index fe95e80d6f1bb8a0a9d12012cdb627d2b74d76fc..9e2fffdca405e8c3501a72256928a1c55e8d826e 100644
--- a/lib/config/presets/github/index.spec.ts
+++ b/lib/config/presets/github/index.spec.ts
@@ -11,7 +11,7 @@ const hostRules = mocked(_hostRules);
 const githubApiHost = github.Endpoint;
 const basePath = '/repos/some/repo/contents';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.setup();
     hostRules.find.mockReturnValue({ token: 'abc' });
diff --git a/lib/config/presets/gitlab/index.spec.ts b/lib/config/presets/gitlab/index.spec.ts
index c6a4dbe77d88b4da097c464d3cb2f1b945288732..53d32d88bf09f5c9dde994a4c51f442712e1ea15 100644
--- a/lib/config/presets/gitlab/index.spec.ts
+++ b/lib/config/presets/gitlab/index.spec.ts
@@ -7,7 +7,7 @@ import * as gitlab from '.';
 const gitlabApiHost = 'https://gitlab.com';
 const basePath = '/api/v4/projects/some%2Frepo/repository';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
     httpMock.setup();
diff --git a/lib/config/presets/index.spec.ts b/lib/config/presets/index.spec.ts
index 38e7e4f982ad51b40767d3001f832dcc812a077a..838c6b528749d26af76fad3e4f4e9b25eb702d37 100644
--- a/lib/config/presets/index.spec.ts
+++ b/lib/config/presets/index.spec.ts
@@ -16,10 +16,7 @@ jest.mock('./local');
 const npm = mocked(_npm);
 const local = mocked(_local);
 
-const presetIkatyang = loadJsonFixture(
-  __filename,
-  'renovate-config-ikatyang.json'
-);
+const presetIkatyang = loadJsonFixture('renovate-config-ikatyang.json');
 
 npm.getPreset = jest.fn(({ packageName, presetName }) => {
   if (packageName === 'renovate-config-ikatyang') {
@@ -42,7 +39,7 @@ npm.getPreset = jest.fn(({ packageName, presetName }) => {
   return null;
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('resolvePreset', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/config/presets/internal/index.spec.ts b/lib/config/presets/internal/index.spec.ts
index b58b51b3a1822ddc8a7d6d61c6d6b5d4cc7e1b45..0e018bdda8ebfc7db0998f5f32bd10c9aec7f116 100644
--- a/lib/config/presets/internal/index.spec.ts
+++ b/lib/config/presets/internal/index.spec.ts
@@ -14,7 +14,7 @@ npm.getPreset = jest.fn((_) => null);
 
 const ignoredPresets = ['default:group', 'default:timezone'];
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('fails for undefined internal preset', async () => {
     const preset = 'foo:bar';
     const presetConfig = { extends: [preset] };
diff --git a/lib/config/presets/local/index.spec.ts b/lib/config/presets/local/index.spec.ts
index 743c7334144d6a600c8e6f69eaa2847450a96610..2036f349f66684e09698d2df0fdf473d6cd7a311 100644
--- a/lib/config/presets/local/index.spec.ts
+++ b/lib/config/presets/local/index.spec.ts
@@ -21,7 +21,7 @@ const gitea = mocked(_gitea);
 const github = mocked(_github);
 const gitlab = mocked(_gitlab);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
     const preset = { resolved: 'preset' };
diff --git a/lib/config/presets/npm/index.spec.ts b/lib/config/presets/npm/index.spec.ts
index fa5bd9afd76e95517ad8d4953af817320395f6d9..ea2633e5002be2d230260024bdae3369d87830b4 100644
--- a/lib/config/presets/npm/index.spec.ts
+++ b/lib/config/presets/npm/index.spec.ts
@@ -6,7 +6,7 @@ import * as npm from '.';
 jest.mock('registry-auth-token');
 jest.mock('delay');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
     setAdminConfig();
diff --git a/lib/config/presets/util.spec.ts b/lib/config/presets/util.spec.ts
index 0bc3cbb4b4a62b6c7388f8c7806521abd7985c60..a4a9ff908ac15ee5f6736ddb4037b01644390fd1 100644
--- a/lib/config/presets/util.spec.ts
+++ b/lib/config/presets/util.spec.ts
@@ -16,7 +16,7 @@ const config: FetchPresetConfig = {
 
 const fetch = jest.fn(() => Promise.resolve<Preset>({}));
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     fetch.mockReset();
   });
diff --git a/lib/config/secrets.spec.ts b/lib/config/secrets.spec.ts
index 1ea2c095baf14d541f0aca7fc3bbe7459e0e7b9f..e1acda131687882346c4ef5289e02339bd601c56 100644
--- a/lib/config/secrets.spec.ts
+++ b/lib/config/secrets.spec.ts
@@ -5,7 +5,7 @@ import {
 } from '../constants/error-messages';
 import { applySecretsToConfig, validateConfigSecrets } from './secrets';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('validateConfigSecrets(config)', () => {
     it('works with default config', () => {
       expect(() => validateConfigSecrets(defaultConfig)).not.toThrow();
diff --git a/lib/config/validation-helpers/managers.spec.ts b/lib/config/validation-helpers/managers.spec.ts
index 4b86e32c68776ce427264f740e2678276d78c182..e0d89c1dbc57586df6ef94e0d3ac7f29e8abd098 100644
--- a/lib/config/validation-helpers/managers.spec.ts
+++ b/lib/config/validation-helpers/managers.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { check } from './managers';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('should have no errors', () => {
     const res = check({
       resolvedRule: { matchManagers: ['npm'] },
diff --git a/lib/config/validation.spec.ts b/lib/config/validation.spec.ts
index 2535fa4318097a239645298392fa260e737862f5..e845672fe504632c739be61007e00adbf4249b87 100644
--- a/lib/config/validation.spec.ts
+++ b/lib/config/validation.spec.ts
@@ -2,7 +2,7 @@ import { getName } from '../../test/util';
 import type { RenovateConfig } from './types';
 import * as configValidation from './validation';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getParentName()', () => {
     it('ignores encrypted in root', () => {
       expect(configValidation.getParentName('encrypted')).toEqual('');
diff --git a/lib/datasource/bitbucket-tags/index.spec.ts b/lib/datasource/bitbucket-tags/index.spec.ts
index 87653aa00e3ac26cbe0afbcb19bd17b93cf3c354..ab7b800cf490c5bf3a95e2a2d45a4cb2d1f5fbf8 100644
--- a/lib/datasource/bitbucket-tags/index.spec.ts
+++ b/lib/datasource/bitbucket-tags/index.spec.ts
@@ -3,7 +3,7 @@ import * as httpMock from '../../../test/http-mock';
 import { getName } from '../../../test/util';
 import { id as datasource } from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.reset();
     httpMock.setup();
diff --git a/lib/datasource/cdnjs/index.spec.ts b/lib/datasource/cdnjs/index.spec.ts
index 6e6165ee1f647dfd7798df85f67de89494ee7443..7819d61c4f9947641fe33f61d1eef0847789a681 100644
--- a/lib/datasource/cdnjs/index.spec.ts
+++ b/lib/datasource/cdnjs/index.spec.ts
@@ -4,15 +4,15 @@ import { getName, loadFixture } from '../../../test/util';
 import { EXTERNAL_HOST_ERROR } from '../../constants/error-messages';
 import { id as datasource } from '.';
 
-const res1 = loadFixture(__filename, 'd3-force.json');
-const res2 = loadFixture(__filename, 'bulma.json');
+const res1 = loadFixture('d3-force.json');
+const res2 = loadFixture('bulma.json');
 
 const baseUrl = 'https://api.cdnjs.com/';
 
 const pathFor = (s: string): string =>
   `/libraries/${s.split('/').shift()}?fields=homepage,repository,assets`;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       jest.clearAllMocks();
diff --git a/lib/datasource/crate/index.spec.ts b/lib/datasource/crate/index.spec.ts
index 8bcf8fe19c08b07a6e63f43fa858c7cdb4fbe33d..78bf915b7c4e5ed628b49bb7e2684420ee2c0cad 100644
--- a/lib/datasource/crate/index.spec.ts
+++ b/lib/datasource/crate/index.spec.ts
@@ -20,9 +20,9 @@ import {
 jest.mock('simple-git');
 const simpleGit: any = _simpleGit;
 
-const res1 = loadFixture(__filename, 'libc');
-const res2 = loadFixture(__filename, 'amethyst');
-const res3 = loadFixture(__filename, 'mypkg');
+const res1 = loadFixture('libc');
+const res2 = loadFixture('amethyst');
+const res3 = loadFixture('mypkg');
 
 const baseUrl =
   'https://raw.githubusercontent.com/rust-lang/crates.io-index/master/';
@@ -65,7 +65,7 @@ function setupErrorGitMock(): { mockClone: jest.Mock<any, any> } {
   return { mockClone };
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getIndexSuffix', () => {
     it('returns correct suffixes', () => {
       expect(getIndexSuffix('a')).toStrictEqual(['1', 'a']);
diff --git a/lib/datasource/dart/index.spec.ts b/lib/datasource/dart/index.spec.ts
index abc986a028b1bc75cb6edecc6cf9409346f4bee8..a2f69ff1e23a9789d4dfd5deb6d2047beef72bc6 100644
--- a/lib/datasource/dart/index.spec.ts
+++ b/lib/datasource/dart/index.spec.ts
@@ -3,11 +3,11 @@ import * as httpMock from '../../../test/http-mock';
 import { getName, loadJsonFixture } from '../../../test/util';
 import { id as datasource } from '.';
 
-const body = loadJsonFixture(__filename, 'shared_preferences.json');
+const body = loadJsonFixture('shared_preferences.json');
 
 const baseUrl = 'https://pub.dartlang.org/api/packages/';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.setup();
   });
diff --git a/lib/datasource/docker/index.spec.ts b/lib/datasource/docker/index.spec.ts
index f317cdb58e7faa0b6a7b7689766893997183ef60..80198179ee67e4de3898c626729eb9a2b6984ba1 100644
--- a/lib/datasource/docker/index.spec.ts
+++ b/lib/datasource/docker/index.spec.ts
@@ -41,7 +41,7 @@ function mockEcrAuthReject(msg: string) {
   );
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.setup();
     hostRules.find.mockReturnValue({
diff --git a/lib/datasource/galaxy-collection/index.spec.ts b/lib/datasource/galaxy-collection/index.spec.ts
index 32acd8d69a10a1554a64bdc2d73a9caa2ad66cec..8a5725cb1dbd80afe5eb5a4febc52bab0ebef3d1 100644
--- a/lib/datasource/galaxy-collection/index.spec.ts
+++ b/lib/datasource/galaxy-collection/index.spec.ts
@@ -4,30 +4,23 @@ import { getName, loadFixture } from '../../../test/util';
 
 import { id as datasource } from '.';
 
-const communityKubernetesBase = loadFixture(
-  __filename,
-  'community_kubernetes_base.json'
-);
+const communityKubernetesBase = loadFixture('community_kubernetes_base.json');
 const communityKubernetesVersions = loadFixture(
-  __filename,
   'community_kubernetes_versions.json'
 );
 const communityKubernetesDetails121 = loadFixture(
-  __filename,
   'community_kubernetes_version_details_1.2.1.json'
 );
 const communityKubernetesDetails120 = loadFixture(
-  __filename,
   'community_kubernetes_version_details_1.2.0.json'
 );
 const communityKubernetesDetails0111 = loadFixture(
-  __filename,
   'community_kubernetes_version_details_0.11.1.json'
 );
 
 const baseUrl = 'https://galaxy.ansible.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       httpMock.setup();
diff --git a/lib/datasource/galaxy/index.spec.ts b/lib/datasource/galaxy/index.spec.ts
index 4786daa7281fa5e94860c3897aad9b259bb31949..c4b16844a45f5633c8ee9d4c00c2f9b994c3944c 100644
--- a/lib/datasource/galaxy/index.spec.ts
+++ b/lib/datasource/galaxy/index.spec.ts
@@ -4,12 +4,12 @@ import { getName, loadFixture } from '../../../test/util';
 
 import { id as datasource } from '.';
 
-const res1 = loadFixture(__filename, 'timezone');
-const empty = loadFixture(__filename, 'empty');
+const res1 = loadFixture('timezone');
+const empty = loadFixture('empty');
 
 const baseUrl = 'https://galaxy.ansible.com/';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       httpMock.setup();
diff --git a/lib/datasource/git-refs/index.spec.ts b/lib/datasource/git-refs/index.spec.ts
index 5e0dc5c31faac9944f961b4dc9a12acb9cd728dd..744404ae9256c85f351ad7e7ff9603cb5121bd5e 100644
--- a/lib/datasource/git-refs/index.spec.ts
+++ b/lib/datasource/git-refs/index.spec.ts
@@ -8,9 +8,9 @@ const simpleGit: any = _simpleGit;
 
 const depName = 'https://github.com/example/example.git';
 
-const lsRemote1 = loadFixture(__filename, 'ls-remote-1.txt');
+const lsRemote1 = loadFixture('ls-remote-1.txt');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     it('returns nil if response is wrong', async () => {
       simpleGit.mockReturnValue({
diff --git a/lib/datasource/git-tags/index.spec.ts b/lib/datasource/git-tags/index.spec.ts
index d1309fa51d89c8428fea2f49ce4c92c4f64c24fc..d1e347e2c94e25bb272c3d8bfe99fc9404be6ec9 100644
--- a/lib/datasource/git-tags/index.spec.ts
+++ b/lib/datasource/git-tags/index.spec.ts
@@ -8,9 +8,9 @@ const simpleGit: any = _simpleGit;
 
 const depName = 'https://github.com/example/example.git';
 
-const lsRemote1 = loadFixture(__filename, 'ls-remote-1.txt', '../git-refs');
+const lsRemote1 = loadFixture('ls-remote-1.txt', '../git-refs');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     it('returns nil if response is wrong', async () => {
       simpleGit.mockReturnValue({
diff --git a/lib/datasource/github-releases/index.spec.ts b/lib/datasource/github-releases/index.spec.ts
index ff5a412431c758848dcf3ba540ef97bdbcca3afc..4bf1e18110c932143623432f9c1ab351b7257dc3 100644
--- a/lib/datasource/github-releases/index.spec.ts
+++ b/lib/datasource/github-releases/index.spec.ts
@@ -23,7 +23,7 @@ const responseBody = [
   },
 ];
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     hostRules.hosts.mockReturnValue([]);
     hostRules.find.mockReturnValue({
diff --git a/lib/datasource/github-tags/index.spec.ts b/lib/datasource/github-tags/index.spec.ts
index 06992b6c26017792cce83427a1e07d8e1078ed54..cd038f8f6c51bf7288b9dfa319822e92a3822437 100644
--- a/lib/datasource/github-tags/index.spec.ts
+++ b/lib/datasource/github-tags/index.spec.ts
@@ -10,7 +10,7 @@ const hostRules: any = _hostRules;
 const githubApiHost = 'https://api.github.com';
 const githubEnterpriseApiHost = 'https://git.enterprise.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.reset();
     httpMock.setup();
diff --git a/lib/datasource/gitlab-tags/index.spec.ts b/lib/datasource/gitlab-tags/index.spec.ts
index f1b08eb58306c94cfb73010a4c2b71bf2212f981..1b106f37faa7343c84c8ffeac0a8f264fcf9ded8 100644
--- a/lib/datasource/gitlab-tags/index.spec.ts
+++ b/lib/datasource/gitlab-tags/index.spec.ts
@@ -3,7 +3,7 @@ import * as httpMock from '../../../test/http-mock';
 import { getName } from '../../../test/util';
 import { id as datasource } from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.reset();
     httpMock.setup();
diff --git a/lib/datasource/go/index.spec.ts b/lib/datasource/go/index.spec.ts
index fe7340408fe7a559587280e61fef52bb11a2b4a9..218e810c685f446669190c4ddc0d23ed5ed5c26a 100644
--- a/lib/datasource/go/index.spec.ts
+++ b/lib/datasource/go/index.spec.ts
@@ -46,7 +46,7 @@ const resGitHubEnterprise = `<!DOCTYPE html>
 </body>
 </html>`;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.setup();
     hostRules.find.mockReturnValue({});
diff --git a/lib/datasource/gradle-version/index.spec.ts b/lib/datasource/gradle-version/index.spec.ts
index dd527dc0e1396f17287742b3a932f72a1a7b5177..078303f6e647b158541f48ee9a6d0c19353f5b38 100644
--- a/lib/datasource/gradle-version/index.spec.ts
+++ b/lib/datasource/gradle-version/index.spec.ts
@@ -5,11 +5,11 @@ import { ExternalHostError } from '../../types/errors/external-host-error';
 import { id as versioning } from '../../versioning/gradle';
 import { id as datasource, getReleases } from '.';
 
-const allResponse: any = loadJsonFixture(__filename, 'all.json');
+const allResponse: any = loadJsonFixture('all.json');
 
 let config: GetPkgReleasesConfig;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       config = {
diff --git a/lib/datasource/helm/index.spec.ts b/lib/datasource/helm/index.spec.ts
index 37e9a119201c4594f7471b25a33da595d14352ac..ff3a14ed97537fa9aaaebecadaeafb4f51af83aa 100644
--- a/lib/datasource/helm/index.spec.ts
+++ b/lib/datasource/helm/index.spec.ts
@@ -4,9 +4,9 @@ import { getName, loadFixture } from '../../../test/util';
 import { id as datasource } from '.';
 
 // Truncated index.yaml file
-const indexYaml = loadFixture(__filename, 'index.yaml');
+const indexYaml = loadFixture('index.yaml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/datasource/hex/index.spec.ts b/lib/datasource/hex/index.spec.ts
index 4357cf966fe18c7d17a77aaeefc6aa48568c05b7..739be18d1e017a42434ae1ee101f5f85635bbbe9 100644
--- a/lib/datasource/hex/index.spec.ts
+++ b/lib/datasource/hex/index.spec.ts
@@ -7,13 +7,13 @@ import { id as datasource } from '.';
 
 const hostRules: any = _hostRules;
 
-const res1 = loadJsonFixture(__filename, 'certifi.json');
+const res1 = loadJsonFixture('certifi.json');
 
 jest.mock('../../util/host-rules');
 
 const baseUrl = 'https://hex.pm/api/packages/';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     hostRules.hosts.mockReturnValue([]);
     hostRules.find.mockReturnValue({});
diff --git a/lib/datasource/index.spec.ts b/lib/datasource/index.spec.ts
index 04b1f7c6e64f936ebe8825cdd0aa0888f1569e7e..3ccc8fee67a914b8a688c8c7c144eea6d9496280 100644
--- a/lib/datasource/index.spec.ts
+++ b/lib/datasource/index.spec.ts
@@ -26,7 +26,7 @@ const mavenDatasource = mocked(datasourceMaven);
 const npmDatasource = mocked(datasourceNpm);
 const packagistDatasource = mocked(datasourcePackagist);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
   });
diff --git a/lib/datasource/jenkins-plugins/index.spec.ts b/lib/datasource/jenkins-plugins/index.spec.ts
index 3943760e88860d9beb11235180fbce77ced4cbcf..0b7fa723353bad1256879dd260ed15e794943532 100644
--- a/lib/datasource/jenkins-plugins/index.spec.ts
+++ b/lib/datasource/jenkins-plugins/index.spec.ts
@@ -5,16 +5,10 @@ import * as versioning from '../../versioning/docker';
 import { resetCache } from './get';
 import * as jenkins from '.';
 
-const jenkinsPluginsVersions = loadJsonFixture(
-  __filename,
-  'plugin-versions.json'
-);
-const jenkinsPluginsInfo = loadJsonFixture(
-  __filename,
-  'update-center.actual.json'
-);
-
-describe(getName(__filename), () => {
+const jenkinsPluginsVersions = loadJsonFixture('plugin-versions.json');
+const jenkinsPluginsInfo = loadJsonFixture('update-center.actual.json');
+
+describe(getName(), () => {
   describe('getReleases', () => {
     const SKIP_CACHE = process.env.RENOVATE_SKIP_CACHE;
 
diff --git a/lib/datasource/maven/index.spec.ts b/lib/datasource/maven/index.spec.ts
index 9a411bb8e26bade63d7e9517c9625c4c6683c26f..33f60510fadc7f33ba64018b44f476d853823614 100644
--- a/lib/datasource/maven/index.spec.ts
+++ b/lib/datasource/maven/index.spec.ts
@@ -9,12 +9,10 @@ import { id as datasource } from '.';
 const MYSQL_VERSIONS = ['6.0.5', '6.0.6', '8.0.7', '8.0.8', '8.0.9'];
 
 const MYSQL_MAVEN_METADATA = loadFixture(
-  __filename,
   'repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml'
 );
 
 const MYSQL_MAVEN_MYSQL_POM = loadFixture(
-  __filename,
   'repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom'
 );
 
@@ -38,7 +36,7 @@ function generateReleases(versions: string[], ts = false): Release[] {
   });
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     hostRules.add({
       hostType: datasource,
diff --git a/lib/datasource/metadata.spec.ts b/lib/datasource/metadata.spec.ts
index add5b5fb2043679c659592cc8c9851c778af311a..c630202485651b9e9b737c27ba2f563f9cba8eaa 100644
--- a/lib/datasource/metadata.spec.ts
+++ b/lib/datasource/metadata.spec.ts
@@ -4,7 +4,7 @@ import { addMetaData } from './metadata';
 import * as datasourceNpm from './npm';
 import * as datasourcePypi from './pypi';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('Should do nothing if dep is not specified', () => {
     expect(addMetaData()).toBeUndefined();
   });
diff --git a/lib/datasource/npm/get.spec.ts b/lib/datasource/npm/get.spec.ts
index 76c91caf8e7b9b55f34a27efb675ea191b8b6885..ad56a801cd70ee855ce3342a8907b2f2bf38b3c6 100644
--- a/lib/datasource/npm/get.spec.ts
+++ b/lib/datasource/npm/get.spec.ts
@@ -11,7 +11,7 @@ function getPath(s = ''): string {
   return `${prePath}/@myco%2Ftest`;
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.clearAllMocks();
     resetMemCache();
diff --git a/lib/datasource/npm/index.spec.ts b/lib/datasource/npm/index.spec.ts
index d398428ebf8c67ae2432d102c7f9dac72eb2fba7..a9869c62a3969d736f3f30f444c97fb5cfcf6539 100644
--- a/lib/datasource/npm/index.spec.ts
+++ b/lib/datasource/npm/index.spec.ts
@@ -14,7 +14,7 @@ jest.mock('delay');
 const registryAuthToken: jest.Mock<_registryAuthToken.NpmCredentials> = _registryAuthToken as never;
 let npmResponse: any;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
     httpMock.setup();
diff --git a/lib/datasource/npm/npmrc.spec.ts b/lib/datasource/npm/npmrc.spec.ts
index ed44bfee821bb137670e929ea33dbc8b29cf672d..23ecde3dca2fce6d8d459d2dbd0eab2b88254f28 100644
--- a/lib/datasource/npm/npmrc.spec.ts
+++ b/lib/datasource/npm/npmrc.spec.ts
@@ -7,7 +7,7 @@ jest.mock('../../util/sanitize');
 
 const sanitize = mocked(_sanitize);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     setNpmrc('');
     setAdminConfig();
diff --git a/lib/datasource/nuget/index.spec.ts b/lib/datasource/nuget/index.spec.ts
index 777089b4ec3f878c48e5c1ca142ce322136daa73..e741bd6e556e95cb66de1412b1f8bdabbe7d742b 100644
--- a/lib/datasource/nuget/index.spec.ts
+++ b/lib/datasource/nuget/index.spec.ts
@@ -9,48 +9,43 @@ const hostRules: any = _hostRules;
 
 jest.mock('../../util/host-rules');
 
-const pkgInfoV3FromNuget = loadFixture(__filename, 'nunit/v3_nuget_org.xml');
-const pkgListV3Registration = loadFixture(
-  __filename,
-  'nunit/v3_registration.json'
-);
+const pkgInfoV3FromNuget = loadFixture('nunit/v3_nuget_org.xml');
+const pkgListV3Registration = loadFixture('nunit/v3_registration.json');
 
-const pkgListV2 = loadFixture(__filename, 'nunit/v2.xml');
+const pkgListV2 = loadFixture('nunit/v2.xml');
 const pkgListV2NoGitHubProjectUrl = loadFixture(
-  __filename,
   'nunit/v2_noGitHubProjectUrl.xml'
 );
-const pkgListV2NoRelease = loadFixture(__filename, 'nunit/v2_no_release.xml');
+const pkgListV2NoRelease = loadFixture('nunit/v2_no_release.xml');
 const pkgListV2WithoutProjectUrl = loadFixture(
-  __filename,
   'nunit/v2_withoutProjectUrl.xml'
 );
 
-const pkgListV2Page1of2 = loadFixture(__filename, 'nunit/v2_paginated_1.xml');
-const pkgListV2Page2of2 = loadFixture(__filename, 'nunit/v2_paginated_2.xml');
+const pkgListV2Page1of2 = loadFixture('nunit/v2_paginated_1.xml');
+const pkgListV2Page2of2 = loadFixture('nunit/v2_paginated_2.xml');
 
-const nugetIndexV3 = loadFixture(__filename, 'v3_index.json');
+const nugetIndexV3 = loadFixture('v3_index.json');
 
 const nlogMocks = [
   {
     url: '/v3/registration5-gz-semver2/nlog/index.json',
-    result: loadFixture(__filename, 'nlog/v3_registration.json'),
+    result: loadFixture('nlog/v3_registration.json'),
   },
   {
     url: '/v3/registration5-gz-semver2/nlog/page/1.0.0.505/4.4.0-beta5.json',
-    result: loadFixture(__filename, 'nlog/v3_catalog_1.json'),
+    result: loadFixture('nlog/v3_catalog_1.json'),
   },
   {
     url: '/v3/registration5-gz-semver2/nlog/page/4.4.0-beta6/4.6.0-rc2.json',
-    result: loadFixture(__filename, 'nlog/v3_catalog_2.json'),
+    result: loadFixture('nlog/v3_catalog_2.json'),
   },
   {
     url: '/v3/registration5-gz-semver2/nlog/page/4.6.0-rc3/5.0.0-beta11.json',
-    result: loadFixture(__filename, 'nlog/v3_catalog_3.json'),
+    result: loadFixture('nlog/v3_catalog_3.json'),
   },
   {
     url: '/v3-flatcontainer/nlog/4.7.3/nlog.nuspec',
-    result: loadFixture(__filename, 'nlog/nuspec.xml'),
+    result: loadFixture('nlog/nuspec.xml'),
   },
 ];
 
@@ -95,7 +90,7 @@ const configV3Multiple = {
   ],
 };
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('parseRegistryUrl', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/datasource/orb/index.spec.ts b/lib/datasource/orb/index.spec.ts
index 6162d340ab7aaa19759b212053ef51916269a0e4..590ba37c9a2f9df6e75ac959caee0d31067e63e4 100644
--- a/lib/datasource/orb/index.spec.ts
+++ b/lib/datasource/orb/index.spec.ts
@@ -26,7 +26,7 @@ const orbData = {
 
 const baseUrl = 'https://circleci.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       jest.clearAllMocks();
diff --git a/lib/datasource/packagist/index.spec.ts b/lib/datasource/packagist/index.spec.ts
index 556339f47b8b59097c113812ab630b2cd00f27e2..b0fc54e79ad32587bd9ce00cee480a41ace9bfae 100644
--- a/lib/datasource/packagist/index.spec.ts
+++ b/lib/datasource/packagist/index.spec.ts
@@ -10,13 +10,13 @@ jest.mock('../../util/host-rules');
 
 const hostRules = _hostRules;
 
-const includesJson: any = loadJsonFixture(__filename, 'includes.json');
-const beytJson: any = loadJsonFixture(__filename, '1beyt.json');
-const mailchimpJson: any = loadJsonFixture(__filename, 'mailchimp-api.json');
+const includesJson: any = loadJsonFixture('includes.json');
+const beytJson: any = loadJsonFixture('1beyt.json');
+const mailchimpJson: any = loadJsonFixture('mailchimp-api.json');
 
 const baseUrl = 'https://packagist.org';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     let config: any;
     beforeEach(() => {
diff --git a/lib/datasource/pod/index.spec.ts b/lib/datasource/pod/index.spec.ts
index f803877caa9a7b562c15dde544831f7dbef23dca..d5a215b15cad2b911b58420c322a46ea03f12ab7 100644
--- a/lib/datasource/pod/index.spec.ts
+++ b/lib/datasource/pod/index.spec.ts
@@ -15,7 +15,7 @@ const config = {
 const githubApiHost = 'https://api.github.com';
 const cocoapodsHost = 'https://cdn.cocoapods.org';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/datasource/pypi/index.spec.ts b/lib/datasource/pypi/index.spec.ts
index 6a36bba660daa5c05f517a8b8f216b6a6347baab..7254733ac0c85e4e23c35ff5be99e42b7824a1d4 100644
--- a/lib/datasource/pypi/index.spec.ts
+++ b/lib/datasource/pypi/index.spec.ts
@@ -4,22 +4,18 @@ import { getName, loadFixture } from '../../../test/util';
 import * as hostRules from '../../util/host-rules';
 import { id as datasource } from '.';
 
-const res1: any = loadFixture(__filename, 'azure-cli-monitor.json');
-const res2: any = loadFixture(__filename, 'azure-cli-monitor-updated.json');
-const htmlResponse = loadFixture(__filename, 'versions-html.html');
-const badResponse = loadFixture(__filename, 'versions-html-badfile.html');
+const res1: any = loadFixture('azure-cli-monitor.json');
+const res2: any = loadFixture('azure-cli-monitor-updated.json');
+const htmlResponse = loadFixture('versions-html.html');
+const badResponse = loadFixture('versions-html-badfile.html');
 const dataRequiresPythonResponse = loadFixture(
-  __filename,
   'versions-html-data-requires-python.html'
 );
-const mixedHyphensResponse = loadFixture(
-  __filename,
-  'versions-html-mixed-hyphens.html'
-);
+const mixedHyphensResponse = loadFixture('versions-html-mixed-hyphens.html');
 
 const baseUrl = 'https://pypi.org/pypi';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     const OLD_ENV = process.env;
 
diff --git a/lib/datasource/repology/index.spec.ts b/lib/datasource/repology/index.spec.ts
index 9323908ac1642f70c2cdf294b4c466698e51d996..e84d7e092aad8328038640b2a9581769394d0eed 100644
--- a/lib/datasource/repology/index.spec.ts
+++ b/lib/datasource/repology/index.spec.ts
@@ -45,13 +45,13 @@ const mockResolverCall = (
   }
 };
 
-const fixtureNginx = loadFixture(__filename, `nginx.json`);
-const fixtureGccDefaults = loadFixture(__filename, `gcc-defaults.json`);
-const fixtureGcc = loadFixture(__filename, `gcc.json`);
-const fixturePulseaudio = loadFixture(__filename, `pulseaudio.json`);
-const fixtureJdk = loadFixture(__filename, `openjdk.json`);
+const fixtureNginx = loadFixture(`nginx.json`);
+const fixtureGccDefaults = loadFixture(`gcc-defaults.json`);
+const fixtureGcc = loadFixture(`gcc.json`);
+const fixturePulseaudio = loadFixture(`pulseaudio.json`);
+const fixtureJdk = loadFixture(`openjdk.json`);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       httpMock.setup();
diff --git a/lib/datasource/ruby-version/index.spec.ts b/lib/datasource/ruby-version/index.spec.ts
index 2f95bcfa918996bf489702433136ea58482a9cde..d227fc8bf3936359333b56b54c766f9813046062 100644
--- a/lib/datasource/ruby-version/index.spec.ts
+++ b/lib/datasource/ruby-version/index.spec.ts
@@ -3,9 +3,9 @@ import * as httpMock from '../../../test/http-mock';
 import { getName, loadFixture } from '../../../test/util';
 import { id as datasource } from '.';
 
-const rubyReleasesHtml = loadFixture(__filename, 'releases.html');
+const rubyReleasesHtml = loadFixture('releases.html');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       httpMock.setup();
diff --git a/lib/datasource/rubygems/index.spec.ts b/lib/datasource/rubygems/index.spec.ts
index 92df66b559aba3392b39200105082723e517b6dc..dce97126fb72f27f0c2afea8f9f4511fa1a2b8a3 100644
--- a/lib/datasource/rubygems/index.spec.ts
+++ b/lib/datasource/rubygems/index.spec.ts
@@ -5,11 +5,11 @@ import * as rubyVersioning from '../../versioning/ruby';
 import { resetCache } from './get-rubygems-org';
 import * as rubygems from '.';
 
-const rubygemsOrgVersions = loadFixture(__filename, 'rubygems-org.txt');
-const railsInfo = loadJsonFixture(__filename, 'rails/info.json');
-const railsVersions = loadJsonFixture(__filename, 'rails/versions.json');
+const rubygemsOrgVersions = loadFixture('rubygems-org.txt');
+const railsInfo = loadJsonFixture('rails/info.json');
+const railsVersions = loadJsonFixture('rails/versions.json');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     const SKIP_CACHE = process.env.RENOVATE_SKIP_CACHE;
 
diff --git a/lib/datasource/sbt-package/index.spec.ts b/lib/datasource/sbt-package/index.spec.ts
index 2616a41293cae89dfc9f006f63fda9822007ba1a..b91673e75c027c93a5fdea2c24eafc1f31a724ee 100644
--- a/lib/datasource/sbt-package/index.spec.ts
+++ b/lib/datasource/sbt-package/index.spec.ts
@@ -6,10 +6,10 @@ import { MAVEN_REPO } from '../maven/common';
 import { parseIndexDir } from '../sbt-plugin/util';
 import * as sbtPlugin from '.';
 
-const mavenIndexHtml = loadFixture(__filename, `maven-index.html`);
-const sbtPluginIndex = loadFixture(__filename, `sbt-plugins-index.html`);
+const mavenIndexHtml = loadFixture(`maven-index.html`);
+const sbtPluginIndex = loadFixture(`sbt-plugins-index.html`);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('parses Maven index directory', () => {
     expect(parseIndexDir(mavenIndexHtml)).toMatchSnapshot();
   });
diff --git a/lib/datasource/sbt-plugin/index.spec.ts b/lib/datasource/sbt-plugin/index.spec.ts
index b8228ab50091c8e7bcb6be880ee7440f79f13409..efbc89a82ecd3b8d329e75395bd5e25d7847dfc4 100644
--- a/lib/datasource/sbt-plugin/index.spec.ts
+++ b/lib/datasource/sbt-plugin/index.spec.ts
@@ -6,10 +6,10 @@ import { MAVEN_REPO } from '../maven/common';
 import { parseIndexDir } from './util';
 import * as sbtPlugin from '.';
 
-const mavenIndexHtml = loadFixture(__filename, `maven-index.html`);
-const sbtPluginIndex = loadFixture(__filename, `sbt-plugins-index.html`);
+const mavenIndexHtml = loadFixture(`maven-index.html`);
+const sbtPluginIndex = loadFixture(`sbt-plugins-index.html`);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('parses Maven index directory', () => {
     expect(parseIndexDir(mavenIndexHtml)).toMatchSnapshot();
   });
diff --git a/lib/datasource/terraform-module/index.spec.ts b/lib/datasource/terraform-module/index.spec.ts
index 2d08c2dd29677e91a654e0bdd8b4466cb4c3f0dc..224749e1b7920a6d4971308172e97056d1255552 100644
--- a/lib/datasource/terraform-module/index.spec.ts
+++ b/lib/datasource/terraform-module/index.spec.ts
@@ -3,20 +3,16 @@ import * as httpMock from '../../../test/http-mock';
 import { getName, loadFixture } from '../../../test/util';
 import { id as datasource } from '.';
 
-const consulData: any = loadFixture(__filename, 'registry-consul.json');
-const serviceDiscoveryResult: any = loadFixture(
-  __filename,
-  'service-discovery.json'
-);
+const consulData: any = loadFixture('registry-consul.json');
+const serviceDiscoveryResult: any = loadFixture('service-discovery.json');
 const serviceDiscoveryCustomResult: any = loadFixture(
-  __filename,
   'service-custom-discovery.json'
 );
 
 const baseUrl = 'https://registry.terraform.io';
 const localTerraformEnterprisebaseUrl = 'https://terraform.foo.bar';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       jest.clearAllMocks();
diff --git a/lib/datasource/terraform-provider/index.spec.ts b/lib/datasource/terraform-provider/index.spec.ts
index 44dfa44b294f2e72daf3814a5da7da83f829ca53..10a5abb85e8c55a453e4f0d65ca874dd1ac5ed90 100644
--- a/lib/datasource/terraform-provider/index.spec.ts
+++ b/lib/datasource/terraform-provider/index.spec.ts
@@ -3,20 +3,14 @@ import * as httpMock from '../../../test/http-mock';
 import { getName, loadFixture } from '../../../test/util';
 import { id as datasource, defaultRegistryUrls } from '.';
 
-const consulData: any = loadFixture(__filename, 'azurerm-provider.json');
-const hashicorpReleases: any = loadFixture(
-  __filename,
-  'releaseBackendIndex.json'
-);
-const serviceDiscoveryResult: any = loadFixture(
-  __filename,
-  'service-discovery.json'
-);
+const consulData: any = loadFixture('azurerm-provider.json');
+const hashicorpReleases: any = loadFixture('releaseBackendIndex.json');
+const serviceDiscoveryResult: any = loadFixture('service-discovery.json');
 
 const primaryUrl = defaultRegistryUrls[0];
 const secondaryUrl = defaultRegistryUrls[1];
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleases', () => {
     beforeEach(() => {
       jest.clearAllMocks();
diff --git a/lib/logger/config-serializer.spec.ts b/lib/logger/config-serializer.spec.ts
index 35472ec7700708ac52b9ffd6391458748b250598..be604e8264f84458da69f8c5cdca80f424c357f6 100644
--- a/lib/logger/config-serializer.spec.ts
+++ b/lib/logger/config-serializer.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../test/util';
 import configSerializer from './config-serializer';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('squashes templates', () => {
     const config = {
       nottoken: 'b',
diff --git a/lib/logger/err-serializer.spec.ts b/lib/logger/err-serializer.spec.ts
index bc9e775c3a33a3a29ee2d1e01bae95c9e928acb5..0e0ed66ea7ae630c91ce09b8cf6140bf7de4e60c 100644
--- a/lib/logger/err-serializer.spec.ts
+++ b/lib/logger/err-serializer.spec.ts
@@ -5,7 +5,7 @@ import { Http } from '../util/http';
 import errSerializer from './err-serializer';
 import { sanitizeValue } from './utils';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('expands errors', () => {
     const err = partial<Error & Record<string, unknown>>({
       a: 1,
diff --git a/lib/logger/pretty-stdout.spec.ts b/lib/logger/pretty-stdout.spec.ts
index 21a48e4809093032188a230b22c8b77593b9b08c..fa43f80d1ff25138492dd5324a722b2030c95cc0 100644
--- a/lib/logger/pretty-stdout.spec.ts
+++ b/lib/logger/pretty-stdout.spec.ts
@@ -10,7 +10,7 @@ jest.mock('chalk', () =>
   )
 );
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getMeta(rec)', () => {
     it('returns empty string if null rec', () => {
       expect(prettyStdout.getMeta(null as any)).toEqual('');
diff --git a/lib/manager/ansible-galaxy/extract.spec.ts b/lib/manager/ansible-galaxy/extract.spec.ts
index dd3593801e3754039e8a7ccfabfd76cc92dd2f4b..0d3ef20bb9bc406a476685516bd79eb223d11908 100644
--- a/lib/manager/ansible-galaxy/extract.spec.ts
+++ b/lib/manager/ansible-galaxy/extract.spec.ts
@@ -1,14 +1,14 @@
 import { getName, loadFixture } from '../../../test/util';
 import extractPackageFile, { getSliceEndNumber } from './extract';
 
-const yamlFile1 = loadFixture(__filename, 'requirements01.yml');
-const yamlFile2 = loadFixture(__filename, 'requirements02.yml');
-const helmRequirements = loadFixture(__filename, 'helmRequirements.yml');
-const collections1 = loadFixture(__filename, 'collections1.yml');
-const collections2 = loadFixture(__filename, 'collections2.yml');
-const galaxy = loadFixture(__filename, 'galaxy.yml');
+const yamlFile1 = loadFixture('requirements01.yml');
+const yamlFile2 = loadFixture('requirements02.yml');
+const helmRequirements = loadFixture('helmRequirements.yml');
+const collections1 = loadFixture('collections1.yml');
+const collections2 = loadFixture('collections2.yml');
+const galaxy = loadFixture('galaxy.yml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here', 'requirements.yml')).toBeNull();
diff --git a/lib/manager/ansible/extract.spec.ts b/lib/manager/ansible/extract.spec.ts
index 3e068cf40622309767a7c17e93a14c9f6f438bb1..3c61a5808c25031d928b123012607c28e6a370f7 100644
--- a/lib/manager/ansible/extract.spec.ts
+++ b/lib/manager/ansible/extract.spec.ts
@@ -1,10 +1,10 @@
 import { getName, loadFixture } from '../../../test/util';
 import extractPackageFile from './extract';
 
-const yamlFile1 = loadFixture(__filename, 'main1.yaml');
-const yamlFile2 = loadFixture(__filename, 'main2.yaml');
+const yamlFile1 = loadFixture('main1.yaml');
+const yamlFile2 = loadFixture('main2.yaml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/azure-pipelines/extract.spec.ts b/lib/manager/azure-pipelines/extract.spec.ts
index 72dd4fcfad25d8fe5dea3b6c2f4c66c4ef07bb22..b3f3ad4d0edfd4250fe7b0aad44195e234254041 100644
--- a/lib/manager/azure-pipelines/extract.spec.ts
+++ b/lib/manager/azure-pipelines/extract.spec.ts
@@ -6,19 +6,15 @@ import {
   parseAzurePipelines,
 } from './extract';
 
-const azurePipelines = loadFixture(__filename, 'azure-pipelines.yaml');
+const azurePipelines = loadFixture('azure-pipelines.yaml');
 
-const azurePipelinesInvalid = loadFixture(
-  __filename,
-  'azure-pipelines-invalid.yaml'
-);
+const azurePipelinesInvalid = loadFixture('azure-pipelines-invalid.yaml');
 
 const azurePipelinesNoDependency = loadFixture(
-  __filename,
   'azure-pipelines-no-dependency.yaml'
 );
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('should parse a valid azure-pipelines file', () => {
     const file = parseAzurePipelines(azurePipelines, 'some-file');
     expect(file).not.toBeNull();
diff --git a/lib/manager/batect-wrapper/artifacts.spec.ts b/lib/manager/batect-wrapper/artifacts.spec.ts
index 2b0698923f8200023519e84d96f1adf85d9dbf4f..1d14f7b76fd1aacf368758e98e4fb53f03b70ab7 100644
--- a/lib/manager/batect-wrapper/artifacts.spec.ts
+++ b/lib/manager/batect-wrapper/artifacts.spec.ts
@@ -21,7 +21,7 @@ function artifactForPath(
   };
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.setup();
 
diff --git a/lib/manager/batect-wrapper/extract.spec.ts b/lib/manager/batect-wrapper/extract.spec.ts
index 06393f3cd2f7e5019d2e9ff97b55137c71392c8c..6735e3c6544783952577d4881009ea472ec2516b 100644
--- a/lib/manager/batect-wrapper/extract.spec.ts
+++ b/lib/manager/batect-wrapper/extract.spec.ts
@@ -4,10 +4,10 @@ import { id as semverVersioning } from '../../versioning/semver';
 import type { PackageDependency } from '../types';
 import { extractPackageFile } from './extract';
 
-const validWrapperContent = loadFixture(__filename, 'valid-wrapper');
-const malformedWrapperContent = loadFixture(__filename, 'malformed-wrapper');
+const validWrapperContent = loadFixture('valid-wrapper');
+const malformedWrapperContent = loadFixture('malformed-wrapper');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty wrapper file', () => {
       expect(extractPackageFile('')).toBeNull();
diff --git a/lib/manager/batect/extract.spec.ts b/lib/manager/batect/extract.spec.ts
index 7c4a09c7e31d8a7c231721461678cf8455838442..590e80b652333f4429395dccf6ade7d6fcbe5706 100644
--- a/lib/manager/batect/extract.spec.ts
+++ b/lib/manager/batect/extract.spec.ts
@@ -25,7 +25,7 @@ function createGitDependency(repo: string, version: string): PackageDependency {
   };
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns empty array for empty configuration file', async () => {
       expect(
diff --git a/lib/manager/bazel/extract.spec.ts b/lib/manager/bazel/extract.spec.ts
index be6a208c17bbfd4ab27faba51d3870699418a9f1..01a534d90c757c42578c73a9dba7fe519e4c4b5c 100644
--- a/lib/manager/bazel/extract.spec.ts
+++ b/lib/manager/bazel/extract.spec.ts
@@ -1,12 +1,12 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const workspaceFile = loadFixture(__filename, 'WORKSPACE1');
-const workspace2File = loadFixture(__filename, 'WORKSPACE2');
-const workspace3File = loadFixture(__filename, 'WORKSPACE3');
-const fileWithBzlExtension = loadFixture(__filename, 'repositories.bzl');
+const workspaceFile = loadFixture('WORKSPACE1');
+const workspace2File = loadFixture('WORKSPACE2');
+const workspace3File = loadFixture('WORKSPACE3');
+const fileWithBzlExtension = loadFixture('repositories.bzl');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns empty if fails to parse', () => {
       const res = extractPackageFile('blahhhhh:foo:@what\n');
diff --git a/lib/manager/bazel/update.spec.ts b/lib/manager/bazel/update.spec.ts
index db2b6bc82a60095069cbedefc4162a791486bf99..368c092205f3255c38416beb8251bf9cc4e6bbac 100644
--- a/lib/manager/bazel/update.spec.ts
+++ b/lib/manager/bazel/update.spec.ts
@@ -4,9 +4,9 @@ import { getName, loadFixture } from '../../../test/util';
 import type { UpdateType } from '../../config/types';
 import { updateDependency } from './update';
 
-const content = loadFixture(__filename, 'WORKSPACE1');
-const contentContainerPull = loadFixture(__filename, 'container_pull');
-const fileWithBzlExtension = loadFixture(__filename, 'repositories.bzl');
+const content = loadFixture('WORKSPACE1');
+const contentContainerPull = loadFixture('container_pull');
+const fileWithBzlExtension = loadFixture('repositories.bzl');
 
 /*
 git_repository(
@@ -16,7 +16,7 @@ git_repository(
 )
 */
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('updateDependency', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/manager/buildkite/extract.spec.ts b/lib/manager/buildkite/extract.spec.ts
index 911da7d3c9bf3a056b5b3d039c1793c02cfb78ea..f49d3405c70130151b4e4b39ef9083cd8fa59c4c 100644
--- a/lib/manager/buildkite/extract.spec.ts
+++ b/lib/manager/buildkite/extract.spec.ts
@@ -1,12 +1,12 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const pipeline1 = loadFixture(__filename, 'pipeline1.yml');
-const pipeline2 = loadFixture(__filename, 'pipeline2.yml');
-const pipeline3 = loadFixture(__filename, 'pipeline3.yml');
-const pipeline4 = loadFixture(__filename, 'pipeline4.yml');
+const pipeline1 = loadFixture('pipeline1.yml');
+const pipeline2 = loadFixture('pipeline2.yml');
+const pipeline3 = loadFixture('pipeline3.yml');
+const pipeline4 = loadFixture('pipeline4.yml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/bundler/extract.spec.ts b/lib/manager/bundler/extract.spec.ts
index baefc8e48a5df9fc57aa2d73939867c11546a783..c02f69cf23949f7638960b11f4eb76a460cf3af2 100644
--- a/lib/manager/bundler/extract.spec.ts
+++ b/lib/manager/bundler/extract.spec.ts
@@ -4,29 +4,24 @@ import { extractPackageFile } from './extract';
 
 jest.mock('../../util/fs');
 
-const railsGemfile = loadFixture(__filename, 'Gemfile.rails');
-const railsGemfileLock = loadFixture(__filename, 'Gemfile.rails.lock');
+const railsGemfile = loadFixture('Gemfile.rails');
+const railsGemfileLock = loadFixture('Gemfile.rails.lock');
 
-const sourceGroupGemfile = loadFixture(__filename, 'Gemfile.sourceGroup');
-const webPackerGemfile = loadFixture(__filename, 'Gemfile.webpacker');
-const webPackerGemfileLock = loadFixture(__filename, 'Gemfile.webpacker.lock');
-const mastodonGemfile = loadFixture(__filename, 'Gemfile.mastodon');
-const mastodonGemfileLock = loadFixture(__filename, 'Gemfile.mastodon.lock');
-const rubyCIGemfileLock = loadFixture(__filename, 'Gemfile.rubyci.lock');
+const sourceGroupGemfile = loadFixture('Gemfile.sourceGroup');
+const webPackerGemfile = loadFixture('Gemfile.webpacker');
+const webPackerGemfileLock = loadFixture('Gemfile.webpacker.lock');
+const mastodonGemfile = loadFixture('Gemfile.mastodon');
+const mastodonGemfileLock = loadFixture('Gemfile.mastodon.lock');
+const rubyCIGemfileLock = loadFixture('Gemfile.rubyci.lock');
 
-const rubyCIGemfile = loadFixture(__filename, 'Gemfile.rubyci');
-const gitlabFossGemfileLock = loadFixture(
-  __filename,
-  'Gemfile.gitlab-foss.lock'
-);
-const gitlabFossGemfile = loadFixture(__filename, 'Gemfile.gitlab-foss');
-const sourceBlockGemfile = loadFixture(__filename, 'Gemfile.sourceBlock');
+const rubyCIGemfile = loadFixture('Gemfile.rubyci');
+const gitlabFossGemfileLock = loadFixture('Gemfile.gitlab-foss.lock');
+const gitlabFossGemfile = loadFixture('Gemfile.gitlab-foss');
+const sourceBlockGemfile = loadFixture('Gemfile.sourceBlock');
 const sourceBlockWithNewLinesGemfileLock = loadFixture(
-  __filename,
   'Gemfile.sourceBlockWithNewLines.lock'
 );
 const sourceBlockWithNewLinesGemfile = loadFixture(
-  __filename,
   'Gemfile.sourceBlockWithNewLines'
 );
 
@@ -36,7 +31,7 @@ function validateGems(raw, parsed) {
   expect(gemfileGemCount).toEqual(parsedGemCount);
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', async () => {
       expect(await extractPackageFile('nothing here', 'Gemfile')).toBeNull();
diff --git a/lib/manager/bundler/gemfile.spec.ts b/lib/manager/bundler/gemfile.spec.ts
index a066c10e2f6017665027082ad53e242cfe1386a0..2bb334da4b78ecbeb433e9ef2cb5e8ce3123e9f3 100644
--- a/lib/manager/bundler/gemfile.spec.ts
+++ b/lib/manager/bundler/gemfile.spec.ts
@@ -1,7 +1,7 @@
 import { loadFixture } from '../../../test/util';
 import { extractLockFileEntries } from './locked-version';
 
-const gemLockFile = loadFixture(__filename, 'Gemfile.rails.lock');
+const gemLockFile = loadFixture('Gemfile.rails.lock');
 
 describe('extract lib/manager/bundler/gemfile.rails.lock', () => {
   it('matches the expected output', () => {
diff --git a/lib/manager/bundler/host-rules.spec.ts b/lib/manager/bundler/host-rules.spec.ts
index 5997c081cb9b2d6ea7885a7ac58c33cf62d8f343..8df6aa5d6f2c08f49dfd42025d45fbda33c9a858 100644
--- a/lib/manager/bundler/host-rules.spec.ts
+++ b/lib/manager/bundler/host-rules.spec.ts
@@ -8,7 +8,7 @@ import {
   getDomain,
 } from './host-rules';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     clear();
   });
diff --git a/lib/manager/bundler/locked-version.spec.ts b/lib/manager/bundler/locked-version.spec.ts
index 6401691b7bb25f9f79974118443ab00d5a1d093e..40a330177385367af4779f87caf21ea856a5aa55 100644
--- a/lib/manager/bundler/locked-version.spec.ts
+++ b/lib/manager/bundler/locked-version.spec.ts
@@ -1,14 +1,11 @@
 import { loadFixture } from '../../../test/util';
 import { extractLockFileEntries } from './locked-version';
 
-const railsGemfileLock = loadFixture(__filename, 'Gemfile.rails.lock');
-const webPackerGemfileLock = loadFixture(__filename, 'Gemfile.webpacker.lock');
-const mastodonGemfileLock = loadFixture(__filename, 'Gemfile.mastodon.lock');
-const rubyCIGemfileLock = loadFixture(__filename, 'Gemfile.rubyci.lock');
-const gitlabFossGemfileLock = loadFixture(
-  __filename,
-  'Gemfile.gitlab-foss.lock'
-);
+const railsGemfileLock = loadFixture('Gemfile.rails.lock');
+const webPackerGemfileLock = loadFixture('Gemfile.webpacker.lock');
+const mastodonGemfileLock = loadFixture('Gemfile.mastodon.lock');
+const rubyCIGemfileLock = loadFixture('Gemfile.rubyci.lock');
+const gitlabFossGemfileLock = loadFixture('Gemfile.gitlab-foss.lock');
 
 describe('/lib/manager/bundler/locked-version', () => {
   test('Parse Rails Gem Lock File', () => {
diff --git a/lib/manager/bundler/range.spec.ts b/lib/manager/bundler/range.spec.ts
index af31efddb120d636208611cc896e28bd048031f7..01f2f41deda15d4b1020ef78720f057c9d211f31 100644
--- a/lib/manager/bundler/range.spec.ts
+++ b/lib/manager/bundler/range.spec.ts
@@ -2,7 +2,7 @@ import { getName } from '../../../test/util';
 import type { RangeConfig } from '../types';
 import { getRangeStrategy } from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getRangeStrategy()', () => {
     it('returns replace when rangeStrategy is auto', () => {
       const config: RangeConfig = { rangeStrategy: 'auto' };
diff --git a/lib/manager/cake/index.spec.ts b/lib/manager/cake/index.spec.ts
index eae570413174cd95ba53dbbd80696512a9f87fd5..c135e06b1ec719a496134e1dd6433f28d268d79d 100644
--- a/lib/manager/cake/index.spec.ts
+++ b/lib/manager/cake/index.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from '.';
 
-const content = loadFixture(__filename, 'build.cake');
+const content = loadFixture('build.cake');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('extracts', () => {
     expect(extractPackageFile(content)).toMatchSnapshot();
   });
diff --git a/lib/manager/cargo/extract.spec.ts b/lib/manager/cargo/extract.spec.ts
index 761785d8031a7f9f3c7168095684746ac9807c9a..7c4db8abeb4fb88ea642847a8bc55860c1c6ad73 100644
--- a/lib/manager/cargo/extract.spec.ts
+++ b/lib/manager/cargo/extract.spec.ts
@@ -4,15 +4,15 @@ import { getName, loadFixture } from '../../../test/util';
 import { setFsConfig, writeLocalFile } from '../../util/fs';
 import { extractPackageFile } from './extract';
 
-const cargo1toml = loadFixture(__filename, 'Cargo.1.toml');
-const cargo2toml = loadFixture(__filename, 'Cargo.2.toml');
-const cargo3toml = loadFixture(__filename, 'Cargo.3.toml');
-const cargo4toml = loadFixture(__filename, 'Cargo.4.toml');
-const cargo5toml = loadFixture(__filename, 'Cargo.5.toml');
-const cargo6configtoml = loadFixture(__filename, 'cargo.6.config.toml');
-const cargo6toml = loadFixture(__filename, 'Cargo.6.toml');
+const cargo1toml = loadFixture('Cargo.1.toml');
+const cargo2toml = loadFixture('Cargo.2.toml');
+const cargo3toml = loadFixture('Cargo.3.toml');
+const cargo4toml = loadFixture('Cargo.4.toml');
+const cargo5toml = loadFixture('Cargo.5.toml');
+const cargo6configtoml = loadFixture('cargo.6.config.toml');
+const cargo6toml = loadFixture('Cargo.6.toml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     let config;
     beforeEach(() => {
diff --git a/lib/manager/cdnurl/extract.spec.ts b/lib/manager/cdnurl/extract.spec.ts
index 7d03a1539fed134f1ff24b37326b8ed6471780b2..47382fef62b32fc8193f1096ec7796405ab0d5d8 100644
--- a/lib/manager/cdnurl/extract.spec.ts
+++ b/lib/manager/cdnurl/extract.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from '.';
 
-const input = loadFixture(__filename, `sample.txt`);
+const input = loadFixture(`sample.txt`);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('extractPackageFile', () => {
     expect(extractPackageFile(input)).toMatchSnapshot();
   });
diff --git a/lib/manager/circleci/extract.spec.ts b/lib/manager/circleci/extract.spec.ts
index dc31c4a5a59b5c5eafe587eed24d535e4827999c..087e374e42a8202032c91ab1bb8ea53dce8916ac 100644
--- a/lib/manager/circleci/extract.spec.ts
+++ b/lib/manager/circleci/extract.spec.ts
@@ -1,11 +1,11 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const file1 = loadFixture(__filename, 'config.yml');
-const file2 = loadFixture(__filename, 'config2.yml');
-const file3 = loadFixture(__filename, 'config3.yml');
+const file1 = loadFixture('config.yml');
+const file2 = loadFixture('config2.yml');
+const file3 = loadFixture('config3.yml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/cloudbuild/extract.spec.ts b/lib/manager/cloudbuild/extract.spec.ts
index 4301cf5ccec8bb86a67e33a43f1e50fe5a8374fc..1724d763afae83af74df5b46d0b15162e08ffab2 100644
--- a/lib/manager/cloudbuild/extract.spec.ts
+++ b/lib/manager/cloudbuild/extract.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const file1 = loadFixture(__filename, 'cloudbuild.yml');
+const file1 = loadFixture('cloudbuild.yml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/cocoapods/extract.spec.ts b/lib/manager/cocoapods/extract.spec.ts
index d8e5d18dcb3278d93e9352e5261df84cb6638d6d..fc8e923e14478d5f59dc06f31611938445348674 100644
--- a/lib/manager/cocoapods/extract.spec.ts
+++ b/lib/manager/cocoapods/extract.spec.ts
@@ -1,10 +1,10 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from '.';
 
-const simplePodfile = loadFixture(__filename, 'Podfile.simple');
-const complexPodfile = loadFixture(__filename, 'Podfile.complex');
+const simplePodfile = loadFixture('Podfile.simple');
+const complexPodfile = loadFixture('Podfile.complex');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('extracts all dependencies', async () => {
       const simpleResult = (await extractPackageFile(simplePodfile, 'Podfile'))
diff --git a/lib/manager/composer/extract.spec.ts b/lib/manager/composer/extract.spec.ts
index f7dc652ef6df87a71584a28e4a65ca4bb98d52fd..b5d7a63259b5b9d4beb91b55510b08e400e96fad 100644
--- a/lib/manager/composer/extract.spec.ts
+++ b/lib/manager/composer/extract.spec.ts
@@ -3,14 +3,14 @@ import { extractPackageFile } from './extract';
 
 jest.mock('../../util/fs');
 
-const requirements1 = loadFixture(__filename, 'composer1.json');
-const requirements2 = loadFixture(__filename, 'composer2.json');
-const requirements3 = loadFixture(__filename, 'composer3.json');
-const requirements4 = loadFixture(__filename, 'composer4.json');
-const requirements5 = loadFixture(__filename, 'composer5.json');
-const requirements5Lock = loadFixture(__filename, 'composer5.lock');
+const requirements1 = loadFixture('composer1.json');
+const requirements2 = loadFixture('composer2.json');
+const requirements3 = loadFixture('composer3.json');
+const requirements4 = loadFixture('composer4.json');
+const requirements5 = loadFixture('composer5.json');
+const requirements5Lock = loadFixture('composer5.lock');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     let packageFile;
     beforeEach(() => {
diff --git a/lib/manager/composer/utils.spec.ts b/lib/manager/composer/utils.spec.ts
index 11dcd1fcbe2b4518b93d7cc8c198f9ddec4f5bbc..824751e824f607f29acb3d22f3361c45c65ff288 100644
--- a/lib/manager/composer/utils.spec.ts
+++ b/lib/manager/composer/utils.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { extractContraints, getConstraint } from './utils';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getConstraint', () => {
     it('returns from config', () => {
       expect(getConstraint({ constraints: { composer: '1.1.0' } })).toEqual(
diff --git a/lib/manager/deps-edn/extract.spec.ts b/lib/manager/deps-edn/extract.spec.ts
index b240919bb75bddd176b2ba8424c2e3804b2cb980..aff07a51f09e70657d16003fac31c9e19113a650 100644
--- a/lib/manager/deps-edn/extract.spec.ts
+++ b/lib/manager/deps-edn/extract.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const depsEdn = loadFixture(__filename, 'deps.edn');
+const depsEdn = loadFixture('deps.edn');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('extractPackageFile', () => {
     expect(extractPackageFile(depsEdn)).toMatchSnapshot();
   });
diff --git a/lib/manager/docker-compose/extract.spec.ts b/lib/manager/docker-compose/extract.spec.ts
index 4cca8cd425415c16e72c0a4416d67fe3b5b5df78..c1bbd0acfce4573146115aa8f75ca8eda0ae6a75 100644
--- a/lib/manager/docker-compose/extract.spec.ts
+++ b/lib/manager/docker-compose/extract.spec.ts
@@ -1,14 +1,11 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const yamlFile1 = loadFixture(__filename, 'docker-compose.1.yml');
-const yamlFile3 = loadFixture(__filename, 'docker-compose.3.yml');
-const yamlFile3NoVersion = loadFixture(
-  __filename,
-  'docker-compose.3-no-version.yml'
-);
+const yamlFile1 = loadFixture('docker-compose.1.yml');
+const yamlFile3 = loadFixture('docker-compose.3.yml');
+const yamlFile3NoVersion = loadFixture('docker-compose.3-no-version.yml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('')).toBeNull();
diff --git a/lib/manager/dockerfile/extract.spec.ts b/lib/manager/dockerfile/extract.spec.ts
index 6a72adff49ac569fbeebb4c776956a7d78e08e6d..d29581b87dc719045b667ea7a04f18016e001966 100644
--- a/lib/manager/dockerfile/extract.spec.ts
+++ b/lib/manager/dockerfile/extract.spec.ts
@@ -1,10 +1,10 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile, getDep } from './extract';
 
-const d1 = loadFixture(__filename, '1.Dockerfile');
-const d2 = loadFixture(__filename, '2.Dockerfile');
+const d1 = loadFixture('1.Dockerfile');
+const d2 = loadFixture('2.Dockerfile');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('handles no FROM', () => {
       const res = extractPackageFile('no from!');
diff --git a/lib/manager/droneci/extract.spec.ts b/lib/manager/droneci/extract.spec.ts
index 3855871bb729f79e458975f81fa2d10b400f79b5..db090b4903258342740a9bc1a1efc1add6929c7c 100644
--- a/lib/manager/droneci/extract.spec.ts
+++ b/lib/manager/droneci/extract.spec.ts
@@ -2,9 +2,9 @@ import { getName, loadFixture } from '../../../test/util';
 
 import { extractPackageFile } from './extract';
 
-const droneYAML = loadFixture(__filename, '.drone.yml');
+const droneYAML = loadFixture('.drone.yml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/git-submodules/artifact.spec.ts b/lib/manager/git-submodules/artifact.spec.ts
index cdcf7103b307613fa84aff20b821a779d8a6645f..a4b3d771cf7bb69f8a68542843c9ea39cefb1192 100644
--- a/lib/manager/git-submodules/artifact.spec.ts
+++ b/lib/manager/git-submodules/artifact.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import updateArtifacts from './artifacts';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('updateArtifacts()', () => {
     it('returns empty content', () => {
       expect(
diff --git a/lib/manager/git-submodules/extract.spec.ts b/lib/manager/git-submodules/extract.spec.ts
index cd83e813a8f604e2fa6bfc8ac5e80258b29abdb2..2eabddfaa7953e4edbd6527389477227cede98be 100644
--- a/lib/manager/git-submodules/extract.spec.ts
+++ b/lib/manager/git-submodules/extract.spec.ts
@@ -11,7 +11,7 @@ const Git: typeof _simpleGit = jest.requireActual('simple-git');
 
 const localDir = `${__dirname}/__fixtures__`;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   // flaky ci tests
   jest.setTimeout(10 * 1000);
 
diff --git a/lib/manager/git-submodules/update.spec.ts b/lib/manager/git-submodules/update.spec.ts
index 16634d3d945e701ca2783a2a9625c222e530eb07..4b239cead696d07cf46b1018691f830694508f36 100644
--- a/lib/manager/git-submodules/update.spec.ts
+++ b/lib/manager/git-submodules/update.spec.ts
@@ -7,7 +7,7 @@ import updateDependency from './update';
 jest.mock('simple-git');
 const simpleGit: any = _simpleGit;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('updateDependency', () => {
     let upgrade: Upgrade;
     beforeAll(async () => {
diff --git a/lib/manager/github-actions/extract.spec.ts b/lib/manager/github-actions/extract.spec.ts
index 96b57906990614ad5039079dbde845ff25c72c6f..35cbde7db19dc378328cdc04f62d16fca05a7e3a 100644
--- a/lib/manager/github-actions/extract.spec.ts
+++ b/lib/manager/github-actions/extract.spec.ts
@@ -1,10 +1,10 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const workflow1 = loadFixture(__filename, 'workflow.yml.1');
-const workflow2 = loadFixture(__filename, 'workflow.yml.2');
+const workflow1 = loadFixture('workflow.yml.1');
+const workflow2 = loadFixture('workflow.yml.2');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/gitlabci-include/extract.spec.ts b/lib/manager/gitlabci-include/extract.spec.ts
index d0e561f84c941b196777c73465cc549a2759fda5..d4cb6fb9ecb45caf027b8632a623ec64a10eeae8 100644
--- a/lib/manager/gitlabci-include/extract.spec.ts
+++ b/lib/manager/gitlabci-include/extract.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const yamlFile = loadFixture(__filename, 'gitlab-ci.1.yaml');
+const yamlFile = loadFixture('gitlab-ci.1.yaml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(
diff --git a/lib/manager/gitlabci/extract.spec.ts b/lib/manager/gitlabci/extract.spec.ts
index 3ba33e008184246129a134fbcd5e271d602a4561..1c624c5635148be4232c67274ccf4dc21b70bcbf 100644
--- a/lib/manager/gitlabci/extract.spec.ts
+++ b/lib/manager/gitlabci/extract.spec.ts
@@ -2,7 +2,7 @@ import { getName, logger } from '../../../test/util';
 import type { PackageDependency } from '../types';
 import { extractAllPackageFiles } from './extract';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractAllPackageFiles()', () => {
     it('returns null for empty', async () => {
       expect(
diff --git a/lib/manager/gomod/extract.spec.ts b/lib/manager/gomod/extract.spec.ts
index e24ba7a50eee1a331e4bd451c87b24cce5357793..d90cda8f521529feeab7eb74e82fbe403f5a43c4 100644
--- a/lib/manager/gomod/extract.spec.ts
+++ b/lib/manager/gomod/extract.spec.ts
@@ -1,11 +1,11 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const gomod1 = loadFixture(__filename, '1/go.mod');
-const gomod2 = loadFixture(__filename, '2/go.mod');
-const gomod3 = loadFixture(__filename, '3/go.mod');
+const gomod1 = loadFixture('1/go.mod');
+const gomod2 = loadFixture('2/go.mod');
+const gomod3 = loadFixture('3/go.mod');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/gomod/update.spec.ts b/lib/manager/gomod/update.spec.ts
index eb03ca3cfc680621ef6371fc183a59f1c77b05b2..7104f9c3882d2456048c693e7b040e56d9ab51c2 100644
--- a/lib/manager/gomod/update.spec.ts
+++ b/lib/manager/gomod/update.spec.ts
@@ -2,10 +2,10 @@ import { getName, loadFixture } from '../../../test/util';
 import type { UpdateType } from '../../config/types';
 import { updateDependency } from './update';
 
-const gomod1 = loadFixture(__filename, '1/go.mod');
-const gomod2 = loadFixture(__filename, '2/go.mod');
+const gomod1 = loadFixture('1/go.mod');
+const gomod2 = loadFixture('2/go.mod');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('updateDependency', () => {
     it('replaces existing value', () => {
       const upgrade = {
diff --git a/lib/manager/gradle-lite/extract.spec.ts b/lib/manager/gradle-lite/extract.spec.ts
index 0c4f37dcea9969833a4d7e7d1e021874e2172e57..a5cb8fe2ef0a3071d581662f106935f8e67f831e 100644
--- a/lib/manager/gradle-lite/extract.spec.ts
+++ b/lib/manager/gradle-lite/extract.spec.ts
@@ -14,7 +14,7 @@ function mockFs(files: Record<string, string>): void {
   );
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeAll(() => {});
   afterAll(() => {
     jest.resetAllMocks();
diff --git a/lib/manager/gradle-lite/parser.spec.ts b/lib/manager/gradle-lite/parser.spec.ts
index 972653ff4bff10e21c2a93c1109b84ea528ad858..b2edc5c09ffd675a7e2dedb7c7c06b6141458531 100644
--- a/lib/manager/gradle-lite/parser.spec.ts
+++ b/lib/manager/gradle-lite/parser.spec.ts
@@ -2,7 +2,7 @@ import { getName, loadFixture } from '../../../test/util';
 import { GOOGLE_REPO, JCENTER_REPO, MAVEN_REPO } from './common';
 import { parseGradle, parseProps } from './parser';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('handles end of input', () => {
     expect(parseGradle('version = ').deps).toBeEmpty();
     expect(parseGradle('id "foo.bar" version').deps).toBeEmpty();
@@ -156,11 +156,7 @@ describe(getName(__filename), () => {
     ]);
   });
   it('parses fixture from "gradle" manager', () => {
-    const content = loadFixture(
-      __filename,
-      'build.gradle.example1',
-      '../gradle'
-    );
+    const content = loadFixture('build.gradle.example1', '../gradle');
     const { deps } = parseGradle(content, {}, 'build.gradle');
     deps.forEach((dep) => {
       expect(
diff --git a/lib/manager/gradle-lite/tokenizer.spec.ts b/lib/manager/gradle-lite/tokenizer.spec.ts
index 9376ddf3e5c8d5b62df50964dd00e3d2305a6570..d7378abdd1aa08ee8cb98f0ae9ee5b857bbc7476 100644
--- a/lib/manager/gradle-lite/tokenizer.spec.ts
+++ b/lib/manager/gradle-lite/tokenizer.spec.ts
@@ -6,7 +6,7 @@ function tokenTypes(input): string[] {
   return extractRawTokens(input).map((token) => token.type);
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('extractTokens', () => {
     const samples = {
       ' ': [TokenType.Space],
diff --git a/lib/manager/gradle-lite/update.spec.ts b/lib/manager/gradle-lite/update.spec.ts
index 44292e24d917e06ab850afaa3e4fad16a5938a00..59a7371f9bc1e741f3d50c419e289150e5ab5c05 100644
--- a/lib/manager/gradle-lite/update.spec.ts
+++ b/lib/manager/gradle-lite/update.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { updateDependency } from './update';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('replaces', () => {
     expect(
       updateDependency({
diff --git a/lib/manager/gradle-lite/utils.spec.ts b/lib/manager/gradle-lite/utils.spec.ts
index fbd32eca74a7600dd9627fc1d43f0afabc84e1c3..6acce08828c3dbfa10fd4eb53c4647d8a8254787 100644
--- a/lib/manager/gradle-lite/utils.spec.ts
+++ b/lib/manager/gradle-lite/utils.spec.ts
@@ -10,7 +10,7 @@ import {
   versionLikeSubstring,
 } from './utils';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('versionLikeSubstring', () => {
     [
       '1.2.3',
diff --git a/lib/manager/gradle-wrapper/artifacts-real.spec.ts b/lib/manager/gradle-wrapper/artifacts-real.spec.ts
index 0d598a720cfabe5738966f94c38c6ddb7479bc14..ce9af09d4c24ae55eb7fed51c766263adba80487 100644
--- a/lib/manager/gradle-wrapper/artifacts-real.spec.ts
+++ b/lib/manager/gradle-wrapper/artifacts-real.spec.ts
@@ -30,7 +30,7 @@ function compareFile(file: string, path: string) {
   );
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   ifSystemSupportsGradle(6).describe('real tests', () => {
     jest.setTimeout(60 * 1000);
 
diff --git a/lib/manager/gradle-wrapper/artifacts.spec.ts b/lib/manager/gradle-wrapper/artifacts.spec.ts
index 19dad4770cc7df8e77e7325fb5aad859ef6c7aa6..398d0b94ea3b3983d47a69df2f9068dad09500e7 100644
--- a/lib/manager/gradle-wrapper/artifacts.spec.ts
+++ b/lib/manager/gradle-wrapper/artifacts.spec.ts
@@ -38,7 +38,7 @@ function readString(...paths: string[]): Promise<string> {
   return readFile(resolve(fixtures, ...paths), 'utf8');
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(async () => {
     jest.resetAllMocks();
     httpMock.setup();
diff --git a/lib/manager/gradle-wrapper/extract.spec.ts b/lib/manager/gradle-wrapper/extract.spec.ts
index f436ccdafdc953f7a5936946027717034d5ab499..d31fd4672355fad9068efebfdd2ac4cddd7a93eb 100644
--- a/lib/manager/gradle-wrapper/extract.spec.ts
+++ b/lib/manager/gradle-wrapper/extract.spec.ts
@@ -1,16 +1,15 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const propertiesFile1 = loadFixture(__filename, 'gradle-wrapper-1.properties');
-const propertiesFile2 = loadFixture(__filename, 'gradle-wrapper-2.properties');
-const propertiesFile3 = loadFixture(__filename, 'gradle-wrapper-3.properties');
-const propertiesFile4 = loadFixture(__filename, 'gradle-wrapper-4.properties');
+const propertiesFile1 = loadFixture('gradle-wrapper-1.properties');
+const propertiesFile2 = loadFixture('gradle-wrapper-2.properties');
+const propertiesFile3 = loadFixture('gradle-wrapper-3.properties');
+const propertiesFile4 = loadFixture('gradle-wrapper-4.properties');
 const whitespacePropertiesFile = loadFixture(
-  __filename,
   'gradle-wrapper-whitespace.properties'
 );
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/gradle/build-gradle.spec.ts b/lib/manager/gradle/build-gradle.spec.ts
index 04dc596088c25249e6b00834a98c9a26b1fc2c3c..e62f8a752e2db5e7440ce74f510997af28c96244 100644
--- a/lib/manager/gradle/build-gradle.spec.ts
+++ b/lib/manager/gradle/build-gradle.spec.ts
@@ -5,7 +5,7 @@ import {
   updateGradleVersion,
 } from './build-gradle';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     init();
   });
diff --git a/lib/manager/gradle/gradle-updates-report.spec.ts b/lib/manager/gradle/gradle-updates-report.spec.ts
index ba318eaff5556e4d8f8da5314e8f9d0ac28427a7..39019792e9e518140eb8ec945ebfa971071e64bc 100644
--- a/lib/manager/gradle/gradle-updates-report.spec.ts
+++ b/lib/manager/gradle/gradle-updates-report.spec.ts
@@ -13,7 +13,7 @@ import { GRADLE_DEPENDENCY_REPORT_OPTIONS } from '.';
 
 const fixtures = 'lib/manager/gradle/__fixtures__';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   for (const gradleVersion of [5, 6]) {
     ifSystemSupportsGradle(gradleVersion).describe(
       'createRenovateGradlePlugin',
diff --git a/lib/manager/gradle/index-real.spec.ts b/lib/manager/gradle/index-real.spec.ts
index 65f9a2e9b5f54bac1250655a8efb2b977577b9b2..5643b0c05199a1fbbe55204493ffad67d3e1e406 100644
--- a/lib/manager/gradle/index-real.spec.ts
+++ b/lib/manager/gradle/index-real.spec.ts
@@ -13,7 +13,7 @@ const baseConfig = {
   },
 };
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   ifSystemSupportsGradle(6).describe('executeGradle integration', () => {
     const SUCCESS_FILE_NAME = 'success.indicator';
     let workingDir: DirectoryResult;
diff --git a/lib/manager/gradle/index.spec.ts b/lib/manager/gradle/index.spec.ts
index 310ee8e73debe7a6188aeea4de87e8123666c960..7acc18ec57b4103c11d099bd57349e670a370060 100644
--- a/lib/manager/gradle/index.spec.ts
+++ b/lib/manager/gradle/index.spec.ts
@@ -68,7 +68,7 @@ async function setupMocks() {
   return [require('.'), exec, util];
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile', () => {
     let manager: typeof _manager;
     let exec: jest.Mock<typeof _exec>;
diff --git a/lib/manager/helm-requirements/extract.spec.ts b/lib/manager/helm-requirements/extract.spec.ts
index b1dab0978dd0e81440257e4fece9cf139fd0dfc7..f8e361c3321b49520342bd775921253bd55d930e 100644
--- a/lib/manager/helm-requirements/extract.spec.ts
+++ b/lib/manager/helm-requirements/extract.spec.ts
@@ -4,7 +4,7 @@ import { extractPackageFile } from './extract';
 
 jest.mock('../../util/fs');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/manager/helm-values/extract.spec.ts b/lib/manager/helm-values/extract.spec.ts
index 53fbc347837df3ecb59cb98a559b8e6bac956ab6..93247b77d6000107e79f53917805b317b31a7000 100644
--- a/lib/manager/helm-values/extract.spec.ts
+++ b/lib/manager/helm-values/extract.spec.ts
@@ -2,16 +2,14 @@ import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
 const helmDefaultChartInitValues = loadFixture(
-  __filename,
   'default_chart_init_values.yaml'
 );
 
 const helmMultiAndNestedImageValues = loadFixture(
-  __filename,
   'multi_and_nested_image_values.yaml'
 );
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/manager/helmfile/extract.spec.ts b/lib/manager/helmfile/extract.spec.ts
index 3a3888575aae4c415e6e704cf646cc08998355cd..09b2a2290b9c589033e75925ab58bad7556e21e7 100644
--- a/lib/manager/helmfile/extract.spec.ts
+++ b/lib/manager/helmfile/extract.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const multidocYaml = loadFixture(__filename, 'multidoc.yaml');
+const multidocYaml = loadFixture('multidoc.yaml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/manager/helmv3/extract.spec.ts b/lib/manager/helmv3/extract.spec.ts
index cb9fe5d1cd134bf40c6d791e3cf08e4a0e3e2dbb..2f95926d85da3a3fc2269a574f73f3ece2470684 100644
--- a/lib/manager/helmv3/extract.spec.ts
+++ b/lib/manager/helmv3/extract.spec.ts
@@ -3,7 +3,7 @@ import { extractPackageFile } from './extract';
 
 jest.mock('../../util/fs');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/manager/helmv3/update.spec.ts b/lib/manager/helmv3/update.spec.ts
index a320378df0270b689d994418e17868912858a9e2..ee49e109d43ab9b1f74d056317c47f1e71fe4057 100644
--- a/lib/manager/helmv3/update.spec.ts
+++ b/lib/manager/helmv3/update.spec.ts
@@ -2,7 +2,7 @@ import yaml from 'js-yaml';
 import { getName } from '../../../test/util';
 import * as helmv3Updater from './update';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.bumpPackageVersion()', () => {
     const content = yaml.safeDump({
       apiVersion: 'v2',
diff --git a/lib/manager/homebrew/extract.spec.ts b/lib/manager/homebrew/extract.spec.ts
index b4e8f6d8d876627ea98317f5cbf4a8b999f6d4b3..c26efaee4d2f2464a82f4d857d1b2e0dae563aac 100644
--- a/lib/manager/homebrew/extract.spec.ts
+++ b/lib/manager/homebrew/extract.spec.ts
@@ -1,13 +1,13 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const aalib = loadFixture(__filename, 'aalib.rb');
-const aap = loadFixture(__filename, 'aap.rb');
-const acmetool = loadFixture(__filename, 'acmetool.rb');
-const aide = loadFixture(__filename, 'aide.rb');
-const ibazel = loadFixture(__filename, 'ibazel.rb');
+const aalib = loadFixture('aalib.rb');
+const aap = loadFixture('aap.rb');
+const acmetool = loadFixture('acmetool.rb');
+const aide = loadFixture('aide.rb');
+const ibazel = loadFixture('ibazel.rb');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('skips sourceforge dependency 1', () => {
       const res = extractPackageFile(aalib);
diff --git a/lib/manager/homebrew/update.spec.ts b/lib/manager/homebrew/update.spec.ts
index ad7f6df4a7ec8d41eeda104bf52f1a2c796d9a5b..34f4fcc75a9d706dff7335c2e6d809e6a5c04925 100644
--- a/lib/manager/homebrew/update.spec.ts
+++ b/lib/manager/homebrew/update.spec.ts
@@ -3,12 +3,12 @@ import * as httpMock from '../../../test/http-mock';
 import { getName, loadFixture } from '../../../test/util';
 import { updateDependency } from './update';
 
-const aide = loadFixture(__filename, 'aide.rb');
-const ibazel = loadFixture(__filename, 'ibazel.rb');
+const aide = loadFixture('aide.rb');
+const ibazel = loadFixture('ibazel.rb');
 
 const baseUrl = 'https://github.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
     jest.resetModules();
diff --git a/lib/manager/homebrew/util.spec.ts b/lib/manager/homebrew/util.spec.ts
index 1d72386416fe31edc80ca89bf05af83085beb2e0..c29346a2f0c9fe73f18ae9beccebfd76051f93e8 100644
--- a/lib/manager/homebrew/util.spec.ts
+++ b/lib/manager/homebrew/util.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { skip } from './util';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('skip()', () => {
     it('handles out of bounds case', () => {
       const content = 'some content';
diff --git a/lib/manager/html/extract.spec.ts b/lib/manager/html/extract.spec.ts
index 20bfa9720bd4ebc5831e098ad559adb26b8c2228..c6aeeae6c2f95cf438c14f41aaf7136f5cf2659a 100644
--- a/lib/manager/html/extract.spec.ts
+++ b/lib/manager/html/extract.spec.ts
@@ -1,10 +1,10 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from '.';
 
-const sample = loadFixture(__filename, `sample.html`);
-const nothing = loadFixture(__filename, `nothing.html`);
+const sample = loadFixture(`sample.html`);
+const nothing = loadFixture(`nothing.html`);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('extractPackageFile', () => {
     expect(extractPackageFile(sample)).toMatchSnapshot();
   });
diff --git a/lib/manager/index.spec.ts b/lib/manager/index.spec.ts
index 4b244f11b5122ba005cb8d343d18cacd04a0eca8..62ab0ab56499dcd7113351d5496119ae84399629 100644
--- a/lib/manager/index.spec.ts
+++ b/lib/manager/index.spec.ts
@@ -3,7 +3,7 @@ import { loadModules } from '../util/modules';
 import type { ManagerApi } from './types';
 import * as manager from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('get()', () => {
     it('gets something', () => {
       expect(manager.get('dockerfile', 'extractPackageFile')).not.toBeNull();
diff --git a/lib/manager/jenkins/extract.spec.ts b/lib/manager/jenkins/extract.spec.ts
index b9481d1576ec4081230bb2273db3393067388ec6..8163a935022cc289c34972f3594ca2061e063b4b 100644
--- a/lib/manager/jenkins/extract.spec.ts
+++ b/lib/manager/jenkins/extract.spec.ts
@@ -1,15 +1,15 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const invalidYamlFile = loadFixture(__filename, 'invalid.yaml');
+const invalidYamlFile = loadFixture('invalid.yaml');
 
-const pluginsTextFile = loadFixture(__filename, 'plugins.txt');
-const pluginsYamlFile = loadFixture(__filename, 'plugins.yaml');
+const pluginsTextFile = loadFixture('plugins.txt');
+const pluginsYamlFile = loadFixture('plugins.yaml');
 
-const pluginsEmptyTextFile = loadFixture(__filename, 'empty.txt');
-const pluginsEmptyYamlFile = loadFixture(__filename, 'empty.yaml');
+const pluginsEmptyTextFile = loadFixture('empty.txt');
+const pluginsEmptyYamlFile = loadFixture('empty.yaml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns empty list for an empty text file', () => {
       const res = extractPackageFile(pluginsEmptyTextFile, 'path/file.txt');
diff --git a/lib/manager/kubernetes/extract.spec.ts b/lib/manager/kubernetes/extract.spec.ts
index 04fe288e18c45165a99f2c9dadfce6a0c1482bff..fa7f3b1f63a81052d73d7ce9a7aa10a1376aa92a 100644
--- a/lib/manager/kubernetes/extract.spec.ts
+++ b/lib/manager/kubernetes/extract.spec.ts
@@ -1,12 +1,12 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const kubernetesImagesFile = loadFixture(__filename, 'kubernetes.yaml');
-const kubernetesConfigMapFile = loadFixture(__filename, 'configmap.yaml');
-const kubernetesArraySyntaxFile = loadFixture(__filename, 'array-syntax.yaml');
-const otherYamlFile = loadFixture(__filename, 'gitlab-ci.yaml');
+const kubernetesImagesFile = loadFixture('kubernetes.yaml');
+const kubernetesConfigMapFile = loadFixture('configmap.yaml');
+const kubernetesArraySyntaxFile = loadFixture('array-syntax.yaml');
+const otherYamlFile = loadFixture('gitlab-ci.yaml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile(kubernetesConfigMapFile)).toBeNull();
diff --git a/lib/manager/kustomize/extract.spec.ts b/lib/manager/kustomize/extract.spec.ts
index e4da4782aed016516741597102ebe1b58a4016ba..beec2318373ad623dd13549cefe4fbecfd4e1514 100644
--- a/lib/manager/kustomize/extract.spec.ts
+++ b/lib/manager/kustomize/extract.spec.ts
@@ -10,20 +10,17 @@ import {
   parseKustomize,
 } from './extract';
 
-const kustomizeGitSSHBase = loadFixture(__filename, 'gitSshBase.yaml');
-const kustomizeEmpty = loadFixture(__filename, 'kustomizeEmpty.yaml');
-const kustomizeGitSSHSubdir = loadFixture(__filename, 'gitSubdir.yaml');
-const kustomizeHTTP = loadFixture(__filename, 'kustomizeHttp.yaml');
-const kustomizeWithLocal = loadFixture(__filename, 'kustomizeWithLocal.yaml');
-const nonKustomize = loadFixture(__filename, 'service.yaml');
-const gitImages = loadFixture(__filename, 'gitImages.yaml');
-const kustomizeDepsInResources = loadFixture(
-  __filename,
-  'depsInResources.yaml'
-);
-const sha = loadFixture(__filename, 'sha.yaml');
+const kustomizeGitSSHBase = loadFixture('gitSshBase.yaml');
+const kustomizeEmpty = loadFixture('kustomizeEmpty.yaml');
+const kustomizeGitSSHSubdir = loadFixture('gitSubdir.yaml');
+const kustomizeHTTP = loadFixture('kustomizeHttp.yaml');
+const kustomizeWithLocal = loadFixture('kustomizeWithLocal.yaml');
+const nonKustomize = loadFixture('service.yaml');
+const gitImages = loadFixture('gitImages.yaml');
+const kustomizeDepsInResources = loadFixture('depsInResources.yaml');
+const sha = loadFixture('sha.yaml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('should successfully parse a valid kustomize file', () => {
     const file = parseKustomize(kustomizeGitSSHBase);
     expect(file).not.toBeNull();
diff --git a/lib/manager/leiningen/extract.spec.ts b/lib/manager/leiningen/extract.spec.ts
index 681db83205e44992b96ee6dfc899526952d9a318..9dd83c4028a05a6011991d74404c60e700688940 100644
--- a/lib/manager/leiningen/extract.spec.ts
+++ b/lib/manager/leiningen/extract.spec.ts
@@ -2,9 +2,9 @@ import { getName, loadFixture } from '../../../test/util';
 import * as datasourceClojure from '../../datasource/clojure';
 import { extractFromVectors, extractPackageFile, trimAtKey } from './extract';
 
-const leinProjectClj = loadFixture(__filename, `project.clj`);
+const leinProjectClj = loadFixture(`project.clj`);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('trimAtKey', () => {
     expect(trimAtKey('foo', 'bar')).toBeNull();
     expect(trimAtKey(':dependencies    ', 'dependencies')).toBeNull();
diff --git a/lib/manager/maven/extract.spec.ts b/lib/manager/maven/extract.spec.ts
index 36c443fe3faafd228748f98918b1c0f342b11601..2d439cb1c0f884c7b86bb31090d510ce80d788fd 100644
--- a/lib/manager/maven/extract.spec.ts
+++ b/lib/manager/maven/extract.spec.ts
@@ -2,10 +2,10 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackage } from './extract';
 
-const minimumContent = loadFixture(__filename, `minimum.pom.xml`);
-const simpleContent = loadFixture(__filename, `simple.pom.xml`);
+const minimumContent = loadFixture(`minimum.pom.xml`);
+const simpleContent = loadFixture(`simple.pom.xml`);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractDependencies', () => {
     it('returns null for invalid XML', () => {
       expect(extractPackage(undefined)).toBeNull();
diff --git a/lib/manager/maven/index.spec.ts b/lib/manager/maven/index.spec.ts
index 4be69a337c6dbcb60dd72938cc741b0172cdc562..0bc2dddc2c15431537e3edeef422143eaa69beef 100644
--- a/lib/manager/maven/index.spec.ts
+++ b/lib/manager/maven/index.spec.ts
@@ -5,16 +5,16 @@ import { extractAllPackageFiles, updateDependency } from '.';
 
 jest.mock('../../util/fs');
 
-const pomContent = loadFixture(__filename, 'simple.pom.xml');
-const pomParent = loadFixture(__filename, 'parent.pom.xml');
-const pomChild = loadFixture(__filename, 'child.pom.xml');
-const origContent = loadFixture(__filename, 'grouping.pom.xml');
+const pomContent = loadFixture('simple.pom.xml');
+const pomParent = loadFixture('parent.pom.xml');
+const pomChild = loadFixture('child.pom.xml');
+const origContent = loadFixture('grouping.pom.xml');
 
 function selectDep(deps: PackageDependency[], name = 'org.example:quuz') {
   return deps.find((dep) => dep.depName === name);
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractAllPackageFiles', () => {
     it('should return empty if package has no content', async () => {
       fs.readLocalFile.mockResolvedValueOnce(null);
diff --git a/lib/manager/meteor/extract.spec.ts b/lib/manager/meteor/extract.spec.ts
index 7171f035823bc0ead9e354f9ca4b8e749c2197d4..1af6bd74200368be0b0350461e466cb419cbe489 100644
--- a/lib/manager/meteor/extract.spec.ts
+++ b/lib/manager/meteor/extract.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const input01Content = loadFixture(__filename, 'package-1.js');
+const input01Content = loadFixture('package-1.js');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns empty if fails to parse', () => {
       const res = extractPackageFile('blahhhhh:foo:@what\n');
diff --git a/lib/manager/mix/artifacts.spec.ts b/lib/manager/mix/artifacts.spec.ts
index e1056f093817ea07e28ac8ee43d93b47cc9bc422..84f1fa93f8db0f462af496537a856d6ca17c13ab 100644
--- a/lib/manager/mix/artifacts.spec.ts
+++ b/lib/manager/mix/artifacts.spec.ts
@@ -15,7 +15,7 @@ const config = {
   localDir: join('/tmp/github/some/repo'),
 };
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(async () => {
     jest.resetAllMocks();
     jest.resetModules();
diff --git a/lib/manager/mix/extract.spec.ts b/lib/manager/mix/extract.spec.ts
index 834c210a500389d915cdc20c248a418305cf98dd..4c3050b92ef45ec086fbbd448ccdd718e270be01 100644
--- a/lib/manager/mix/extract.spec.ts
+++ b/lib/manager/mix/extract.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from '.';
 
-const sample = loadFixture(__filename, 'mix.exs');
+const sample = loadFixture('mix.exs');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns empty for invalid dependency file', async () => {
       expect(
diff --git a/lib/manager/nodenv/extract.spec.ts b/lib/manager/nodenv/extract.spec.ts
index 665338c56e228cf46bf098c2b78294c8c959f113..29127600c6b3c9137954aa3c011e024e70aebe71 100644
--- a/lib/manager/nodenv/extract.spec.ts
+++ b/lib/manager/nodenv/extract.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns a result', () => {
       const res = extractPackageFile('8.4.0\n');
diff --git a/lib/manager/npm/extract/index.spec.ts b/lib/manager/npm/extract/index.spec.ts
index b4ea83e1ef2eda71eb87f485fa8713a0f3e035d6..1cffc3652c83c8ccb133f9714dda49f7493a9e7e 100644
--- a/lib/manager/npm/extract/index.spec.ts
+++ b/lib/manager/npm/extract/index.spec.ts
@@ -8,21 +8,16 @@ const fs: any = _fs;
 // TODO: fix types
 const defaultConfig = getConfig();
 
-const input01Content = loadFixture(__filename, 'inputs/01.json', '..');
-const workspacesContent = loadFixture(
-  __filename,
-  'inputs/workspaces.json',
-  '..'
-);
+const input01Content = loadFixture('inputs/01.json', '..');
+const workspacesContent = loadFixture('inputs/workspaces.json', '..');
 const workspacesSimpleContent = loadFixture(
-  __filename,
   'inputs/workspaces-simple.json',
   '..'
 );
-const vendorisedContent = loadFixture(__filename, 'is-object.json', '..');
-const invalidNameContent = loadFixture(__filename, 'invalid-name.json', '..');
+const vendorisedContent = loadFixture('is-object.json', '..');
+const invalidNameContent = loadFixture('invalid-name.json', '..');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.extractPackageFile()', () => {
     beforeEach(() => {
       fs.readLocalFile = jest.fn(() => null);
diff --git a/lib/manager/npm/extract/locked-versions.spec.ts b/lib/manager/npm/extract/locked-versions.spec.ts
index 12bd02eed06cde3b51f967cdfcb80e3f95a0d10e..3adbbaa293843e01e0dd1dfac6d86c0777663083 100644
--- a/lib/manager/npm/extract/locked-versions.spec.ts
+++ b/lib/manager/npm/extract/locked-versions.spec.ts
@@ -9,7 +9,7 @@ const yarn = require('./yarn');
 jest.mock('./npm');
 jest.mock('./yarn');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.getLockedVersions()', () => {
     it.each([['1.22.0'], ['2.1.0'], ['2.2.0']])(
       'uses yarn.lock with yarn v%s',
diff --git a/lib/manager/npm/extract/monorepo.spec.ts b/lib/manager/npm/extract/monorepo.spec.ts
index 19e4f6cfe86bec93cc870da6f35228c3560e8bd7..7290af4aa0f960e19a56331fa5874296d0faabd7 100644
--- a/lib/manager/npm/extract/monorepo.spec.ts
+++ b/lib/manager/npm/extract/monorepo.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../../test/util';
 import { detectMonorepos } from './monorepo';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.extractPackageFile()', () => {
     it('uses lerna package settings', () => {
       const packageFiles = [
diff --git a/lib/manager/npm/extract/npm.spec.ts b/lib/manager/npm/extract/npm.spec.ts
index 1946d3e61eb9b896a04981235cde2edc56b534bc..14f37a68d5e315326f579be5b4e57821f61e78bb 100644
--- a/lib/manager/npm/extract/npm.spec.ts
+++ b/lib/manager/npm/extract/npm.spec.ts
@@ -3,7 +3,7 @@ import { getNpmLock } from './npm';
 
 jest.mock('../../../util/fs');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.getNpmLock()', () => {
     it('returns empty if failed to parse', async () => {
       fs.readLocalFile.mockResolvedValueOnce('abcd');
@@ -11,18 +11,14 @@ describe(getName(__filename), () => {
       expect(Object.keys(res.lockedVersions)).toHaveLength(0);
     });
     it('extracts', async () => {
-      const plocktest1Lock = loadFixture(
-        __filename,
-        'plocktest1/package-lock.json',
-        '..'
-      );
+      const plocktest1Lock = loadFixture('plocktest1/package-lock.json', '..');
       fs.readLocalFile.mockResolvedValueOnce(plocktest1Lock as never);
       const res = await getNpmLock('package.json');
       expect(res).toMatchSnapshot();
       expect(Object.keys(res.lockedVersions)).toHaveLength(7);
     });
     it('extracts npm 7 lockfile', async () => {
-      const npm7Lock = loadFixture(__filename, 'npm7/package-lock.json', '..');
+      const npm7Lock = loadFixture('npm7/package-lock.json', '..');
       fs.readLocalFile.mockResolvedValueOnce(npm7Lock as never);
       const res = await getNpmLock('package.json');
       expect(res).toMatchSnapshot();
diff --git a/lib/manager/npm/extract/type.spec.ts b/lib/manager/npm/extract/type.spec.ts
index 371a7a40f8efa7b534430503f3e6a018299c339e..21cc35562b704a07f8f212e2ca50737166dae199 100644
--- a/lib/manager/npm/extract/type.spec.ts
+++ b/lib/manager/npm/extract/type.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../../test/util';
 import { mightBeABrowserLibrary } from './type';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.mightBeABrowserLibrary()', () => {
     it('is not a library if private', () => {
       const isLibrary = mightBeABrowserLibrary({ private: true });
diff --git a/lib/manager/npm/extract/yarn.spec.ts b/lib/manager/npm/extract/yarn.spec.ts
index 9882b371471882a1b35bdfc5aa0aa2d7ba52daf8..4a8ad30f8677dc9863614fd144cbfdc4fb93693d 100644
--- a/lib/manager/npm/extract/yarn.spec.ts
+++ b/lib/manager/npm/extract/yarn.spec.ts
@@ -3,7 +3,7 @@ import { getYarnLock } from './yarn';
 
 jest.mock('../../../util/fs');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.getYarnLock()', () => {
     it('returns empty if exception parsing', async () => {
       fs.readLocalFile.mockResolvedValueOnce('abcd');
@@ -13,11 +13,7 @@ describe(getName(__filename), () => {
     });
 
     it('extracts yarn 1', async () => {
-      const plocktest1Lock = loadFixture(
-        __filename,
-        'plocktest1/yarn.lock',
-        '..'
-      );
+      const plocktest1Lock = loadFixture('plocktest1/yarn.lock', '..');
       fs.readLocalFile.mockResolvedValueOnce(plocktest1Lock);
       const res = await getYarnLock('package.json');
       expect(res.isYarn1).toBe(true);
@@ -27,7 +23,7 @@ describe(getName(__filename), () => {
     });
 
     it('extracts yarn 2', async () => {
-      const plocktest1Lock = loadFixture(__filename, 'yarn2/yarn.lock', '..');
+      const plocktest1Lock = loadFixture('yarn2/yarn.lock', '..');
       fs.readLocalFile.mockResolvedValueOnce(plocktest1Lock);
       const res = await getYarnLock('package.json');
       expect(res.isYarn1).toBe(false);
@@ -37,7 +33,7 @@ describe(getName(__filename), () => {
     });
 
     it('extracts yarn 2 cache version', async () => {
-      const plocktest1Lock = loadFixture(__filename, 'yarn2.2/yarn.lock', '..');
+      const plocktest1Lock = loadFixture('yarn2.2/yarn.lock', '..');
       fs.readLocalFile.mockResolvedValueOnce(plocktest1Lock);
       const res = await getYarnLock('package.json');
       expect(res.isYarn1).toBe(false);
diff --git a/lib/manager/npm/post-update/lerna.spec.ts b/lib/manager/npm/post-update/lerna.spec.ts
index 267bef2c31d306ca77804c7f537d048d0f6c06b9..329acac7c9ab181239a1c8510b7777236fc71f5c 100644
--- a/lib/manager/npm/post-update/lerna.spec.ts
+++ b/lib/manager/npm/post-update/lerna.spec.ts
@@ -25,7 +25,7 @@ function lernaPkgFileWithoutLernaDep(lernaClient: string) {
     lernaClient,
   };
 }
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('generateLockFiles()', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/manager/npm/post-update/yarn.spec.ts b/lib/manager/npm/post-update/yarn.spec.ts
index 84173a6d8232a8f318556d2cce9922655269f9d5..1455157eb9482f299bc3b4c6a21aefab02591572 100644
--- a/lib/manager/npm/post-update/yarn.spec.ts
+++ b/lib/manager/npm/post-update/yarn.spec.ts
@@ -26,7 +26,7 @@ const fixSnapshots = (snapshots: ExecSnapshots): ExecSnapshots =>
     cmd: snapshot.cmd.replace(/^.*\/yarn.*?\.js\s+/, '<yarn> '),
   }));
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
     jest.resetModules();
diff --git a/lib/manager/npm/update/dependency/index.spec.ts b/lib/manager/npm/update/dependency/index.spec.ts
index b2a2c177b3a4833d2451f6e3bc46f43a0b0299b3..0953246103108bbef7b34f5792efebf452e4a87c 100644
--- a/lib/manager/npm/update/dependency/index.spec.ts
+++ b/lib/manager/npm/update/dependency/index.spec.ts
@@ -1,12 +1,12 @@
 import { getName, loadFixture } from '../../../../../test/util';
 import * as npmUpdater from '.';
 
-const readFixture = (x: string): string => loadFixture(__filename, x, '../..');
+const readFixture = (x: string): string => loadFixture(x, '../..');
 
 const input01Content = readFixture('inputs/01.json');
 const input01GlobContent = readFixture('inputs/01-glob.json');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.updateDependency(fileContent, depType, depName, newValue)', () => {
     it('replaces a dependency value', () => {
       const upgrade = {
diff --git a/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts b/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts
index 577b9317221bf99853a4a70b1ff0f92340e8b327..1cd594f0ff2db5697618f2e6628ab1244daa5302 100644
--- a/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts
+++ b/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts
@@ -3,10 +3,10 @@ import { findDepConstraints } from './dep-constraints';
 
 jest.mock('../../../../util/fs');
 
-const packageJson = loadJsonFixture(__filename, 'package.json');
-const packageLockJson = loadJsonFixture(__filename, 'package-lock.json');
+const packageJson = loadJsonFixture('package.json');
+const packageLockJson = loadJsonFixture('package-lock.json');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('findDepConstraints()', () => {
     it('finds indirect dependency', () => {
       expect(
diff --git a/lib/manager/npm/update/locked-dependency/get-locked.spec.ts b/lib/manager/npm/update/locked-dependency/get-locked.spec.ts
index 80370af9e543ac8b2bd14e86cec02e1e6cc0769d..07c96bb5cb9f7585b49002cc0d9a0efc4eca6ba2 100644
--- a/lib/manager/npm/update/locked-dependency/get-locked.spec.ts
+++ b/lib/manager/npm/update/locked-dependency/get-locked.spec.ts
@@ -3,9 +3,9 @@ import { getLockedDependencies } from './get-locked';
 
 jest.mock('../../../../util/fs');
 
-const packageLockJson = loadJsonFixture(__filename, 'package-lock.json');
+const packageLockJson = loadJsonFixture('package-lock.json');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getLockedDependencies()', () => {
     it('handles error', () => {
       expect(getLockedDependencies(null as any, 'some-dep', '1.0.0')).toEqual(
diff --git a/lib/manager/npm/update/locked-dependency/index.spec.ts b/lib/manager/npm/update/locked-dependency/index.spec.ts
index ebcda222783838a7538e7315a3c52fbfaa6c4fb0..8b63d485f0b30c41ca5a03204683123f949bfb92 100644
--- a/lib/manager/npm/update/locked-dependency/index.spec.ts
+++ b/lib/manager/npm/update/locked-dependency/index.spec.ts
@@ -4,18 +4,16 @@ import { clone } from '../../../../util/clone';
 import type { UpdateLockedConfig } from '../../../types';
 import { updateLockedDependency } from '.';
 
-const packageFileContent = loadFixture(__filename, 'package.json');
-const lockFileContent = loadFixture(__filename, 'package-lock.json');
-const acceptsJson = JSON.parse(loadFixture(__filename, 'accepts.json'));
-const expressJson = JSON.parse(loadFixture(__filename, 'express.json'));
-const mimeJson = JSON.parse(loadFixture(__filename, 'mime.json'));
-const serveStaticJson = JSON.parse(
-  loadFixture(__filename, 'serve-static.json')
-);
-const sendJson = JSON.parse(loadFixture(__filename, 'send.json'));
-const typeIsJson = JSON.parse(loadFixture(__filename, 'type-is.json'));
+const packageFileContent = loadFixture('package.json');
+const lockFileContent = loadFixture('package-lock.json');
+const acceptsJson = JSON.parse(loadFixture('accepts.json'));
+const expressJson = JSON.parse(loadFixture('express.json'));
+const mimeJson = JSON.parse(loadFixture('mime.json'));
+const serveStaticJson = JSON.parse(loadFixture('serve-static.json'));
+const sendJson = JSON.parse(loadFixture('send.json'));
+const typeIsJson = JSON.parse(loadFixture('type-is.json'));
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('updateLockedDependency()', () => {
     let config: UpdateLockedConfig;
     beforeEach(() => {
diff --git a/lib/manager/npm/update/locked-dependency/parent-version.spec.ts b/lib/manager/npm/update/locked-dependency/parent-version.spec.ts
index 0e5717c181a21675f0d5d74ad7bf0d181c257bd1..0415965d1b324eb85c3378745b637d2cad8baa33 100644
--- a/lib/manager/npm/update/locked-dependency/parent-version.spec.ts
+++ b/lib/manager/npm/update/locked-dependency/parent-version.spec.ts
@@ -2,9 +2,9 @@ import * as httpMock from '../../../../../test/http-mock';
 import { getName, loadJsonFixture } from '../../../../../test/util';
 import { findFirstParentVersion } from './parent-version';
 
-const expressJson = loadJsonFixture(__filename, 'express.json');
+const expressJson = loadJsonFixture('express.json');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getLockedDependencies()', () => {
     beforeEach(() => {
       httpMock.setup();
diff --git a/lib/manager/npm/update/package-version/index.spec.ts b/lib/manager/npm/update/package-version/index.spec.ts
index 9164c8f85a250494b140d86bfbb73d6d5a418980..6df6e27549e97980e99dc182cc2a34d089926264 100644
--- a/lib/manager/npm/update/package-version/index.spec.ts
+++ b/lib/manager/npm/update/package-version/index.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../../../test/util';
 import * as npmUpdater from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.bumpPackageVersion()', () => {
     const content = JSON.stringify({
       name: 'some-package',
diff --git a/lib/manager/nuget/extract.spec.ts b/lib/manager/nuget/extract.spec.ts
index 74494f376480ca790d50dfd6c90a6cc24c504dbb..532b9e61dede9a569951c8ebc394bceee157c3fa 100644
--- a/lib/manager/nuget/extract.spec.ts
+++ b/lib/manager/nuget/extract.spec.ts
@@ -4,7 +4,7 @@ import { getName } from '../../../test/util';
 import type { ExtractConfig } from '../types';
 import { extractPackageFile } from './extract';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     let config: ExtractConfig;
     beforeEach(() => {
diff --git a/lib/manager/nvm/extract.spec.ts b/lib/manager/nvm/extract.spec.ts
index 665338c56e228cf46bf098c2b78294c8c959f113..29127600c6b3c9137954aa3c011e024e70aebe71 100644
--- a/lib/manager/nvm/extract.spec.ts
+++ b/lib/manager/nvm/extract.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns a result', () => {
       const res = extractPackageFile('8.4.0\n');
diff --git a/lib/manager/pip_requirements/extract.spec.ts b/lib/manager/pip_requirements/extract.spec.ts
index 886f6059fe10c0be3affe47308f054f426726366..259455bb1fa3d1c50700719769d238372006805e 100644
--- a/lib/manager/pip_requirements/extract.spec.ts
+++ b/lib/manager/pip_requirements/extract.spec.ts
@@ -2,15 +2,15 @@ import { getName, loadFixture } from '../../../test/util';
 import { setAdminConfig } from '../../config/admin';
 import { extractPackageFile } from './extract';
 
-const requirements1 = loadFixture(__filename, 'requirements1.txt');
-const requirements2 = loadFixture(__filename, 'requirements2.txt');
-const requirements3 = loadFixture(__filename, 'requirements3.txt');
-const requirements4 = loadFixture(__filename, 'requirements4.txt');
-const requirements5 = loadFixture(__filename, 'requirements5.txt');
-const requirements6 = loadFixture(__filename, 'requirements6.txt');
-const requirements7 = loadFixture(__filename, 'requirements7.txt');
+const requirements1 = loadFixture('requirements1.txt');
+const requirements2 = loadFixture('requirements2.txt');
+const requirements3 = loadFixture('requirements3.txt');
+const requirements4 = loadFixture('requirements4.txt');
+const requirements5 = loadFixture('requirements5.txt');
+const requirements6 = loadFixture('requirements6.txt');
+const requirements7 = loadFixture('requirements7.txt');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     delete process.env.PIP_TEST_TOKEN;
     setAdminConfig();
diff --git a/lib/manager/pip_setup/extract.spec.ts b/lib/manager/pip_setup/extract.spec.ts
index daee26c623f7a749b0f6a7b2b11513a9ec9109c1..cf8d187a70bbf281c38341c1d0f811c67df21c32 100644
--- a/lib/manager/pip_setup/extract.spec.ts
+++ b/lib/manager/pip_setup/extract.spec.ts
@@ -10,7 +10,7 @@ import {
 jest.mock('child_process');
 jest.mock('../../util/exec/env');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
     jest.resetModules();
diff --git a/lib/manager/pip_setup/index.spec.ts b/lib/manager/pip_setup/index.spec.ts
index b81802bc82f6be73c1b83989f876b8b5f10c3df2..82095fcb2bc2dd808f5cecf2cf9ad1c58d9e2ac7 100644
--- a/lib/manager/pip_setup/index.spec.ts
+++ b/lib/manager/pip_setup/index.spec.ts
@@ -13,8 +13,8 @@ import * as extract from './extract';
 import { extractPackageFile } from '.';
 
 const packageFile = 'setup.py';
-const content = loadFixture(__filename, packageFile);
-const jsonContent = loadFixture(__filename, 'setup.py.json');
+const content = loadFixture(packageFile);
+const jsonContent = loadFixture('setup.py.json');
 
 const config = {
   localDir: '/tmp/github/some/repo',
@@ -36,7 +36,7 @@ const fixSnapshots = (snapshots: ExecSnapshots): ExecSnapshots =>
     cmd: snapshot.cmd.replace(/^.*extract\.py"\s+/, '<extract.py> '),
   }));
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     beforeEach(async () => {
       jest.resetAllMocks();
diff --git a/lib/manager/pipenv/extract.spec.ts b/lib/manager/pipenv/extract.spec.ts
index d302208b924b430d81ebc624fdcd1d1a06986696..538f8637b8e2148a3e5d5996e9bef4790116e60d 100644
--- a/lib/manager/pipenv/extract.spec.ts
+++ b/lib/manager/pipenv/extract.spec.ts
@@ -3,13 +3,13 @@ import { extractPackageFile } from './extract';
 
 jest.mock('../../util/fs');
 
-const pipfile1 = loadFixture(__filename, 'Pipfile1');
-const pipfile2 = loadFixture(__filename, 'Pipfile2');
-const pipfile3 = loadFixture(__filename, 'Pipfile3');
-const pipfile4 = loadFixture(__filename, 'Pipfile4');
-const pipfile5 = loadFixture(__filename, 'Pipfile5');
+const pipfile1 = loadFixture('Pipfile1');
+const pipfile2 = loadFixture('Pipfile2');
+const pipfile3 = loadFixture('Pipfile3');
+const pipfile4 = loadFixture('Pipfile4');
+const pipfile5 = loadFixture('Pipfile5');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', async () => {
       expect(await extractPackageFile('[packages]\r\n', 'Pipfile')).toBeNull();
diff --git a/lib/manager/poetry/artifacts.spec.ts b/lib/manager/poetry/artifacts.spec.ts
index 92466cf6aae69ba3f8d1c4c7787fc06d5e5d6ec9..f4b05fb86efc27ce675e5764736530c1a3166b45 100644
--- a/lib/manager/poetry/artifacts.spec.ts
+++ b/lib/manager/poetry/artifacts.spec.ts
@@ -11,7 +11,7 @@ import * as _env from '../../util/exec/env';
 import * as _hostRules from '../../util/host-rules';
 import { updateArtifacts } from './artifacts';
 
-const pyproject10toml = loadFixture(__filename, 'pyproject.10.toml');
+const pyproject10toml = loadFixture('pyproject.10.toml');
 
 jest.mock('fs-extra');
 jest.mock('child_process');
diff --git a/lib/manager/poetry/extract.spec.ts b/lib/manager/poetry/extract.spec.ts
index 5991b47a68fd3d3855babf6d0de870530fd5a6e3..5a9a46e050248bad397ec91edec86f7ae4af4479 100644
--- a/lib/manager/poetry/extract.spec.ts
+++ b/lib/manager/poetry/extract.spec.ts
@@ -3,21 +3,21 @@ import { extractPackageFile } from './extract';
 
 jest.mock('../../util/fs');
 
-const pyproject1toml = loadFixture(__filename, 'pyproject.1.toml');
-const pyproject2toml = loadFixture(__filename, 'pyproject.2.toml');
-const pyproject3toml = loadFixture(__filename, 'pyproject.3.toml');
-const pyproject4toml = loadFixture(__filename, 'pyproject.4.toml');
-const pyproject5toml = loadFixture(__filename, 'pyproject.5.toml');
-const pyproject6toml = loadFixture(__filename, 'pyproject.6.toml');
-const pyproject7toml = loadFixture(__filename, 'pyproject.7.toml');
-const pyproject8toml = loadFixture(__filename, 'pyproject.8.toml');
-const pyproject9toml = loadFixture(__filename, 'pyproject.9.toml');
+const pyproject1toml = loadFixture('pyproject.1.toml');
+const pyproject2toml = loadFixture('pyproject.2.toml');
+const pyproject3toml = loadFixture('pyproject.3.toml');
+const pyproject4toml = loadFixture('pyproject.4.toml');
+const pyproject5toml = loadFixture('pyproject.5.toml');
+const pyproject6toml = loadFixture('pyproject.6.toml');
+const pyproject7toml = loadFixture('pyproject.7.toml');
+const pyproject8toml = loadFixture('pyproject.8.toml');
+const pyproject9toml = loadFixture('pyproject.9.toml');
 
 // pyproject.10.toml use by artifacts
-const pyproject11toml = loadFixture(__filename, 'pyproject.11.toml');
-const pyproject11tomlLock = loadFixture(__filename, 'pyproject.11.toml.lock');
+const pyproject11toml = loadFixture('pyproject.11.toml');
+const pyproject11tomlLock = loadFixture('pyproject.11.toml.lock');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     let filename: string;
     const OLD_ENV = process.env;
diff --git a/lib/manager/pre-commit/extract.spec.ts b/lib/manager/pre-commit/extract.spec.ts
index fd9ae0b6c53e40473d9850396020b436bebbf7b1..84fe1aaafd14299a2923601e34b8d534aa9a4ff4 100644
--- a/lib/manager/pre-commit/extract.spec.ts
+++ b/lib/manager/pre-commit/extract.spec.ts
@@ -6,32 +6,20 @@ jest.mock('../../util/host-rules');
 const hostRules = mocked(_hostRules);
 const filename = '.pre-commit.yaml';
 
-const complexPrecommitConfig = loadFixture(
-  __filename,
-  'complex.pre-commit-config.yaml'
-);
-const examplePrecommitConfig = loadFixture(
-  __filename,
-  '.pre-commit-config.yaml'
-);
+const complexPrecommitConfig = loadFixture('complex.pre-commit-config.yaml');
+const examplePrecommitConfig = loadFixture('.pre-commit-config.yaml');
 const emptyReposPrecommitConfig = loadFixture(
-  __filename,
   'empty_repos.pre-commit-config.yaml'
 );
-const noReposPrecommitConfig = loadFixture(
-  __filename,
-  'no_repos.pre-commit-config.yaml'
-);
+const noReposPrecommitConfig = loadFixture('no_repos.pre-commit-config.yaml');
 const invalidRepoPrecommitConfig = loadFixture(
-  __filename,
   'invalid_repo.pre-commit-config.yaml'
 );
 const enterpriseGitPrecommitConfig = loadFixture(
-  __filename,
   'enterprise.pre-commit-config.yaml'
 );
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     beforeEach(() => {
       jest.resetAllMocks();
diff --git a/lib/manager/pub/extract.spec.ts b/lib/manager/pub/extract.spec.ts
index 1b5c74a5d6c2030a49d5291c01fbd5d0f2d83880..2ed9691dd05b70d2fdbbec4f72a3d4bb1453a0c3 100644
--- a/lib/manager/pub/extract.spec.ts
+++ b/lib/manager/pub/extract.spec.ts
@@ -1,10 +1,10 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from '.';
 
-const brokenYaml = loadFixture(__filename, 'update.yaml');
-const packageFile = loadFixture(__filename, 'extract.yaml');
+const brokenYaml = loadFixture('update.yaml');
+const packageFile = loadFixture('extract.yaml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile', () => {
     it('should return null if package does not contain any deps', () => {
       const res = extractPackageFile('foo: bar', 'pubspec.yaml');
diff --git a/lib/manager/regex/index.spec.ts b/lib/manager/regex/index.spec.ts
index 0f944b63a9f877a95025812efbb2dc56c58d82fd..30a45786ebcc1e628d247d36a03520433ed7f56c 100644
--- a/lib/manager/regex/index.spec.ts
+++ b/lib/manager/regex/index.spec.ts
@@ -3,11 +3,11 @@ import { logger } from '../../logger';
 import type { CustomExtractConfig } from '../types';
 import { defaultConfig, extractPackageFile } from '.';
 
-const dockerfileContent = loadFixture(__filename, `Dockerfile`);
-const ansibleYamlContent = loadFixture(__filename, `ansible.yml`);
-const exampleJsonContent = loadFixture(__filename, `example.json`);
+const dockerfileContent = loadFixture(`Dockerfile`);
+const ansibleYamlContent = loadFixture(`ansible.yml`);
+const exampleJsonContent = loadFixture(`example.json`);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('has default config', () => {
     expect(defaultConfig).toEqual({
       pinDigests: false,
diff --git a/lib/manager/ruby-version/extract.spec.ts b/lib/manager/ruby-version/extract.spec.ts
index 665338c56e228cf46bf098c2b78294c8c959f113..29127600c6b3c9137954aa3c011e024e70aebe71 100644
--- a/lib/manager/ruby-version/extract.spec.ts
+++ b/lib/manager/ruby-version/extract.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns a result', () => {
       const res = extractPackageFile('8.4.0\n');
diff --git a/lib/manager/sbt/extract.spec.ts b/lib/manager/sbt/extract.spec.ts
index 9ddb983133263662b9a64747fb8aad1c5e87a23c..8e4068f06c0b1f26ed59874a9b096d158eb85059 100644
--- a/lib/manager/sbt/extract.spec.ts
+++ b/lib/manager/sbt/extract.spec.ts
@@ -1,22 +1,15 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const sbt = loadFixture(__filename, `sample.sbt`);
-const sbtScalaVersionVariable = loadFixture(
-  __filename,
-  `scala-version-variable.sbt`
-);
-const sbtMissingScalaVersion = loadFixture(
-  __filename,
-  `missing-scala-version.sbt`
-);
-const sbtDependencyFile = loadFixture(__filename, `dependency-file.scala`);
+const sbt = loadFixture(`sample.sbt`);
+const sbtScalaVersionVariable = loadFixture(`scala-version-variable.sbt`);
+const sbtMissingScalaVersion = loadFixture(`missing-scala-version.sbt`);
+const sbtDependencyFile = loadFixture(`dependency-file.scala`);
 const sbtPrivateVariableDependencyFile = loadFixture(
-  __filename,
   `private-variable-dependency-file.scala`
 );
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile(null)).toBeNull();
diff --git a/lib/manager/sbt/update.spec.ts b/lib/manager/sbt/update.spec.ts
index 180947f91b2dc62ff4528ef37e1da57a88a69785..33d5fa8277654f3fc87b6c6068ec1440772e5ec4 100644
--- a/lib/manager/sbt/update.spec.ts
+++ b/lib/manager/sbt/update.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import * as sbtUpdater from './update';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.bumpPackageVersion()', () => {
     const content =
       'name := "test"\n' +
diff --git a/lib/manager/setup-cfg/extract.spec.ts b/lib/manager/setup-cfg/extract.spec.ts
index 693c3d6d0be9dcfe540ac97e276cd1ddd010d57f..a0a6d545102b8df884c35c363a5e5c568ff5a1b6 100644
--- a/lib/manager/setup-cfg/extract.spec.ts
+++ b/lib/manager/setup-cfg/extract.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const content = loadFixture(__filename, 'setup-cfg-1.txt');
+const content = loadFixture('setup-cfg-1.txt');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/swift/index.spec.ts b/lib/manager/swift/index.spec.ts
index 3c0e90918502ad64f20c20f215f547dbe7b6d402..dc49b58eacdbee4ed0547f0be797a88e7eba972b 100644
--- a/lib/manager/swift/index.spec.ts
+++ b/lib/manager/swift/index.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const pkgContent = loadFixture(__filename, `SamplePackage.swift`);
+const pkgContent = loadFixture(`SamplePackage.swift`);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty content', () => {
       expect(extractPackageFile(null)).toBeNull();
diff --git a/lib/manager/terraform-version/extract.spec.ts b/lib/manager/terraform-version/extract.spec.ts
index 9cab89edb6d45588235e3dc9cda6aa1b48da752c..f310cd38b6c3aba076ea7eda528d5b5c397a992c 100644
--- a/lib/manager/terraform-version/extract.spec.ts
+++ b/lib/manager/terraform-version/extract.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns a result', () => {
       const res = extractPackageFile('12.0.0\n');
diff --git a/lib/manager/terraform/extract.spec.ts b/lib/manager/terraform/extract.spec.ts
index b617c39b8563748fa10024a4023e514d5dbe837e..a8b06a6ee5db4116c08b6339d0c2d0218a0c8884 100644
--- a/lib/manager/terraform/extract.spec.ts
+++ b/lib/manager/terraform/extract.spec.ts
@@ -1,14 +1,14 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const tf1 = loadFixture(__filename, '1.tf');
+const tf1 = loadFixture('1.tf');
 const tf2 = `module "relative" {
   source = "../../modules/fe"
 }
 `;
-const helm = loadFixture(__filename, 'helm.tf');
+const helm = loadFixture('helm.tf');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/terraform/modules.spec.ts b/lib/manager/terraform/modules.spec.ts
index 2dcf3a594f8c3c43322c29b8476e2ab316a50f38..fe85fdaedda699c16ee6cb4248d5a2505b354643 100644
--- a/lib/manager/terraform/modules.spec.ts
+++ b/lib/manager/terraform/modules.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { gitTagsRefMatchRegex, githubRefMatchRegex } from './modules';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('githubRefMatchRegex', () => {
     it('should split project and tag from source', () => {
       const { project, tag } = githubRefMatchRegex.exec(
diff --git a/lib/manager/terraform/util.spec.ts b/lib/manager/terraform/util.spec.ts
index ce7f5e7a11b46982749c9d5dd996dc427e5266d5..678464fc52a1f39cd4803cb538c6ec0357b8a829 100644
--- a/lib/manager/terraform/util.spec.ts
+++ b/lib/manager/terraform/util.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { TerraformDependencyTypes, getTerraformDependencyType } from './util';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getTerraformDependencyType()', () => {
     it('returns TerraformDependencyTypes.module', () => {
       expect(getTerraformDependencyType('module')).toBe(
diff --git a/lib/manager/terragrunt-version/extract.spec.ts b/lib/manager/terragrunt-version/extract.spec.ts
index d44244501864aa80b036cc4154b980a9e42ed679..e5010a2aa9127bb2bda8ccfcdb1eac57f17e1501 100644
--- a/lib/manager/terragrunt-version/extract.spec.ts
+++ b/lib/manager/terragrunt-version/extract.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns a result', () => {
       const res = extractPackageFile('12.0.0\n');
diff --git a/lib/manager/terragrunt/extract.spec.ts b/lib/manager/terragrunt/extract.spec.ts
index 90626f785bbede613fef79382e4cb14516e1a56c..e12406d66f400845906558fc990b21b3ba8a0c7a 100644
--- a/lib/manager/terragrunt/extract.spec.ts
+++ b/lib/manager/terragrunt/extract.spec.ts
@@ -1,13 +1,13 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const tg1 = loadFixture(__filename, '2.hcl');
+const tg1 = loadFixture('2.hcl');
 const tg2 = `terragrunt {
   source = "../../modules/fe"
 }
 `;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns null for empty', () => {
       expect(extractPackageFile('nothing here')).toBeNull();
diff --git a/lib/manager/terragrunt/modules.spec.ts b/lib/manager/terragrunt/modules.spec.ts
index 2dcf3a594f8c3c43322c29b8476e2ab316a50f38..fe85fdaedda699c16ee6cb4248d5a2505b354643 100644
--- a/lib/manager/terragrunt/modules.spec.ts
+++ b/lib/manager/terragrunt/modules.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { gitTagsRefMatchRegex, githubRefMatchRegex } from './modules';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('githubRefMatchRegex', () => {
     it('should split project and tag from source', () => {
       const { project, tag } = githubRefMatchRegex.exec(
diff --git a/lib/manager/terragrunt/util.spec.ts b/lib/manager/terragrunt/util.spec.ts
index aa6fdecba223d710f314d403c866a46407eb8964..cc37ccedaae72d68c73afaba890acbd88efb2d2a 100644
--- a/lib/manager/terragrunt/util.spec.ts
+++ b/lib/manager/terragrunt/util.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { TerragruntDependencyTypes, getTerragruntDependencyType } from './util';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getTerragruntDependencyType()', () => {
     it('returns TerragruntDependencyTypes.terragrunt', () => {
       expect(getTerragruntDependencyType('terraform')).toBe(
diff --git a/lib/manager/travis/extract.spec.ts b/lib/manager/travis/extract.spec.ts
index 8335256c0c672d3e66152ddeaeb857dbb6117b9e..ae579bb36ddd70d0dff44d8442cebd51dd528a25 100644
--- a/lib/manager/travis/extract.spec.ts
+++ b/lib/manager/travis/extract.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { extractPackageFile } from './extract';
 
-const invalidYAML = loadFixture(__filename, 'invalid.yml');
+const invalidYAML = loadFixture('invalid.yml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractPackageFile()', () => {
     it('returns empty if fails to parse', () => {
       const res = extractPackageFile('blahhhhh:foo:@what\n');
diff --git a/lib/manager/travis/package.spec.ts b/lib/manager/travis/package.spec.ts
index dc638d12d020c1109465ca6113780fa342101d6d..862c1c4be036fe727b5f427a980ee64144ec7906 100644
--- a/lib/manager/travis/package.spec.ts
+++ b/lib/manager/travis/package.spec.ts
@@ -8,7 +8,7 @@ const getPkgReleases: any = _getPkgReleases;
 
 jest.mock('../../datasource');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getPackageUpdates', () => {
     // TODO: should be `PackageUpdateConfig`
     let config: any;
diff --git a/lib/manager/travis/update.spec.ts b/lib/manager/travis/update.spec.ts
index b36897e7f4474b3b0bc4fd465eb5036e3eff6f2c..1ef3529689a3a33b22e210811f5750aef5079ce8 100644
--- a/lib/manager/travis/update.spec.ts
+++ b/lib/manager/travis/update.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { updateDependency } from './update';
 
-const content = loadFixture(__filename, 'travis.yml');
+const content = loadFixture('travis.yml');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('updateDependency', () => {
     it('updates values', () => {
       // TODO: should be `Upgrade`
diff --git a/lib/platform/azure/azure-got-wrapper.spec.ts b/lib/platform/azure/azure-got-wrapper.spec.ts
index e00051becae07e6b7b2eb7bbc3cfd39653ee730a..9cef7080624631d8d2c4dbaff6035ab20a21a7e4 100644
--- a/lib/platform/azure/azure-got-wrapper.spec.ts
+++ b/lib/platform/azure/azure-got-wrapper.spec.ts
@@ -2,7 +2,7 @@ import { getName } from '../../../test/util';
 import { PLATFORM_TYPE_AZURE } from '../../constants/platforms';
 import * as _hostRules from '../../util/host-rules';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let azure: typeof import('./azure-got-wrapper');
   let hostRules: typeof _hostRules;
   beforeEach(() => {
diff --git a/lib/platform/azure/azure-helper.spec.ts b/lib/platform/azure/azure-helper.spec.ts
index dd6bf34ebd2a6b92c6719688b177cfb409ebfd63..3fd0d9ab0c661279d1565edd7f37d087a9ad783b 100644
--- a/lib/platform/azure/azure-helper.spec.ts
+++ b/lib/platform/azure/azure-helper.spec.ts
@@ -2,7 +2,7 @@ import { Readable } from 'stream';
 import { GitPullRequestMergeStrategy } from 'azure-devops-node-api/interfaces/GitInterfaces';
 import { getName } from '../../../test/util';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let azureHelper: typeof import('./azure-helper');
   let azureApi: jest.Mocked<typeof import('./azure-got-wrapper')>;
 
diff --git a/lib/platform/azure/index.spec.ts b/lib/platform/azure/index.spec.ts
index ce063598ae3991a5192a8172cef1236892ea5215..4efe9a59e32ab9742945e927e887379ba12b7fb8 100644
--- a/lib/platform/azure/index.spec.ts
+++ b/lib/platform/azure/index.spec.ts
@@ -12,7 +12,7 @@ import * as _git from '../../util/git';
 import * as _hostRules from '../../util/host-rules';
 import type { Platform, RepoParams } from '../types';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let hostRules: jest.Mocked<typeof _hostRules>;
   let azure: Platform;
   let azureApi: jest.Mocked<typeof import('./azure-got-wrapper')>;
diff --git a/lib/platform/azure/util.spec.ts b/lib/platform/azure/util.spec.ts
index 92f1270a1f277255beefb724a91774c1acd7dbae..f6b6edec8197364e64b8cf05f14bd04168273e42 100644
--- a/lib/platform/azure/util.spec.ts
+++ b/lib/platform/azure/util.spec.ts
@@ -13,7 +13,7 @@ import {
   streamToString,
 } from './util';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getNewBranchName', () => {
     it('should add refs/heads', () => {
       const res = getNewBranchName('testBB');
diff --git a/lib/platform/bitbucket-server/index.spec.ts b/lib/platform/bitbucket-server/index.spec.ts
index 6a06f89c81b01873eda86e1b43199ed849b17356..69c3d2a5c4fb46f705c3aacf199da6fa538d2c5d 100644
--- a/lib/platform/bitbucket-server/index.spec.ts
+++ b/lib/platform/bitbucket-server/index.spec.ts
@@ -169,7 +169,7 @@ const scenarios = {
   'endpoint with path': new URL('https://stash.renovatebot.com/vcs'),
 };
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   Object.entries(scenarios).forEach(([scenarioName, url]) => {
     const urlHost = url.origin;
     const urlPath = url.pathname === '/' ? '' : url.pathname;
diff --git a/lib/platform/bitbucket/comments.spec.ts b/lib/platform/bitbucket/comments.spec.ts
index 7cbfb5c34a0b3cc6ac58cd99cd064411e702e4f9..2556bdbd84feb7c879f41e8291d9fa076a2687ff 100644
--- a/lib/platform/bitbucket/comments.spec.ts
+++ b/lib/platform/bitbucket/comments.spec.ts
@@ -5,7 +5,7 @@ import * as comments from './comments';
 
 const baseUrl = 'https://api.bitbucket.org';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   const config: comments.CommentsConfig = { repository: 'some/repo' };
 
   beforeEach(() => {
diff --git a/lib/platform/bitbucket/index.spec.ts b/lib/platform/bitbucket/index.spec.ts
index 068232a2290311d0e9796557908c367c8e458c5c..6a0e40e0048bdc5e3fb95fa7c9448e0d4836b11d 100644
--- a/lib/platform/bitbucket/index.spec.ts
+++ b/lib/platform/bitbucket/index.spec.ts
@@ -35,7 +35,7 @@ lxml==3.6.0
 mccabe==0.6.1
 `;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let bitbucket: Platform;
   let hostRules: jest.Mocked<typeof import('../../util/host-rules')>;
   let git: jest.Mocked<typeof _git>;
diff --git a/lib/platform/gitea/gitea-helper.spec.ts b/lib/platform/gitea/gitea-helper.spec.ts
index fc0fdf292cb2ac8e38b6162b4e07c479d1969171..2213effdb80221631ca4f44ec48fa0e4e98bf235 100644
--- a/lib/platform/gitea/gitea-helper.spec.ts
+++ b/lib/platform/gitea/gitea-helper.spec.ts
@@ -4,7 +4,7 @@ import { PrState } from '../../types';
 import { setBaseUrl } from '../../util/http/gitea';
 import * as ght from './gitea-helper';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   const baseUrl = 'https://gitea.renovatebot.com/api/v1';
 
   const mockCommitHash = '0d9c7726c3d628b7e28af234595cfd20febdbf8e';
diff --git a/lib/platform/gitea/index.spec.ts b/lib/platform/gitea/index.spec.ts
index c242124f09ce01e53e87e0f5f60b9d27a27fd4f5..7fca3de799ce9a66784b879e8c59e9e8f6914604 100644
--- a/lib/platform/gitea/index.spec.ts
+++ b/lib/platform/gitea/index.spec.ts
@@ -20,7 +20,7 @@ import * as ght from './gitea-helper';
  */
 const GITEA_VERSION = '1.14.0+dev-754-g5d2b7ba63';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let gitea: Platform;
   let helper: jest.Mocked<typeof import('./gitea-helper')>;
   let logger: jest.Mocked<typeof _logger>;
diff --git a/lib/platform/github/index.spec.ts b/lib/platform/github/index.spec.ts
index f6002def84c42c1f9d44db0cf88fcce9cf5dda91..aa84436489261e22d60ade94b5d6c4c2305ab728 100644
--- a/lib/platform/github/index.spec.ts
+++ b/lib/platform/github/index.spec.ts
@@ -11,7 +11,7 @@ import type { Platform } from '../types';
 
 const githubApiHost = 'https://api.github.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let github: Platform;
   let hostRules: jest.Mocked<typeof import('../../util/host-rules')>;
   let git: jest.Mocked<typeof _git>;
@@ -41,12 +41,8 @@ describe(getName(__filename), () => {
     httpMock.reset();
   });
 
-  const graphqlOpenPullRequests = loadFixture(
-    __filename,
-    'graphql/pullrequest-1.json'
-  );
+  const graphqlOpenPullRequests = loadFixture('graphql/pullrequest-1.json');
   const graphqlClosedPullRequests = loadFixture(
-    __filename,
     'graphql/pullrequests-closed.json'
   );
 
diff --git a/lib/platform/gitlab/index.spec.ts b/lib/platform/gitlab/index.spec.ts
index 9f31a17ae240cb282b10359b979a987eb0e654ba..713f02c3ef75b42b19026315bf84ea37a9f8109f 100644
--- a/lib/platform/gitlab/index.spec.ts
+++ b/lib/platform/gitlab/index.spec.ts
@@ -17,7 +17,7 @@ import * as _hostRules from '../../util/host-rules';
 
 const gitlabApiHost = 'https://gitlab.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let gitlab: Platform;
   let hostRules: jest.Mocked<typeof _hostRules>;
   let git: jest.Mocked<typeof _git>;
diff --git a/lib/platform/index.spec.ts b/lib/platform/index.spec.ts
index 7dd014c50be90cc3c5b8ac46c59c5c761e91a681..bd9e688af73d5d2ecc1be88f549d390aa6371248 100644
--- a/lib/platform/index.spec.ts
+++ b/lib/platform/index.spec.ts
@@ -7,7 +7,7 @@ import * as platform from '.';
 
 jest.unmock('.');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetModules();
   });
diff --git a/lib/platform/utils/pr-body.spec.ts b/lib/platform/utils/pr-body.spec.ts
index 873b12529919c613a9109e2d7a806ab131dffe0a..53335f47579fd3592999901ff41b57d2638e6407 100644
--- a/lib/platform/utils/pr-body.spec.ts
+++ b/lib/platform/utils/pr-body.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { smartTruncate } from './pr-body';
 
-const prBody = loadFixture(__filename, 'pr-body.txt');
+const prBody = loadFixture('pr-body.txt');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.smartTruncate', () => {
     it('truncates to 1000', () => {
       const body = smartTruncate(prBody, 1000);
diff --git a/lib/platform/utils/read-only-issue-body.spec.ts b/lib/platform/utils/read-only-issue-body.spec.ts
index ef98dedc3d7ef94c08463d4ee67af431621ff441..48e6b4ac37dc048a05a7473e6f925c435b3b8628 100644
--- a/lib/platform/utils/read-only-issue-body.spec.ts
+++ b/lib/platform/utils/read-only-issue-body.spec.ts
@@ -1,9 +1,9 @@
 import { getName, loadFixture } from '../../../test/util';
 import { readOnlyIssueBody } from './read-only-issue-body';
 
-const issueBody = loadFixture(__filename, 'issue-body.txt');
+const issueBody = loadFixture('issue-body.txt');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.readOnlyIssueBody', () => {
     it('removes all checkbox formatting', () => {
       expect(readOnlyIssueBody(issueBody)).toEqual(
diff --git a/lib/util/cache/package/file.spec.ts b/lib/util/cache/package/file.spec.ts
index 7248343c02bd18e00e62346560b2a1b045861f14..8587885822c506892cfeced36a0910bf5d03e0b1 100644
--- a/lib/util/cache/package/file.spec.ts
+++ b/lib/util/cache/package/file.spec.ts
@@ -2,7 +2,7 @@ import os from 'os';
 import { getName } from '../../../../test/util';
 import { get, init, set } from './file';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('returns if uninitiated', async () => {
     await set('test', 'key', 1234);
     expect(await get('test', 'key')).toBeUndefined();
diff --git a/lib/util/cache/package/index.spec.ts b/lib/util/cache/package/index.spec.ts
index c91c9d1abeca279f003426da5609b182a07ceec3..63f6e32a8997301c437199e176f37bf5d011c8cd 100644
--- a/lib/util/cache/package/index.spec.ts
+++ b/lib/util/cache/package/index.spec.ts
@@ -4,7 +4,7 @@ import { cleanup, get, init, set } from '.';
 jest.mock('./file');
 jest.mock('./redis');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('returns undefined if not initialized', async () => {
     expect(await get('test', 'missing-key')).toBeUndefined();
     expect(await set('test', 'some-key', 'some-value', 5)).toBeUndefined();
diff --git a/lib/util/cache/repository/index.spec.ts b/lib/util/cache/repository/index.spec.ts
index 9ac8eb0977d879a983abc9a79a24f3b61449f3ff..1095e227df97a615ae0e5a75c9d99acd4b0ee352 100644
--- a/lib/util/cache/repository/index.spec.ts
+++ b/lib/util/cache/repository/index.spec.ts
@@ -6,7 +6,7 @@ jest.mock('fs-extra');
 
 const fs = mocked(_fs);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
   });
diff --git a/lib/util/emoji.spec.ts b/lib/util/emoji.spec.ts
index b07114595662db327a716a96e955a6fd046ec741..b8b15a9660c913d9e971ed2d7656d91b42e1fab9 100644
--- a/lib/util/emoji.spec.ts
+++ b/lib/util/emoji.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../test/util';
 import { setEmojiConfig, unemojify } from './emoji';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('strips emojis when the config has been set accordingly', () => {
     const emoji = '🚀💎';
     const otherText = 'regular text';
diff --git a/lib/util/exec/exec.spec.ts b/lib/util/exec/exec.spec.ts
index e5db81a628a4e873a0ee73d22fc9b8ab086bcea8..387c15d46c36db1919556bd5a43bd399c7bf3dff 100644
--- a/lib/util/exec/exec.spec.ts
+++ b/lib/util/exec/exec.spec.ts
@@ -31,7 +31,7 @@ interface TestInput {
   adminConfig?: RepoAdminConfig;
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let processEnvOrig: NodeJS.ProcessEnv;
 
   const cacheDir = '/tmp/renovate/cache/';
diff --git a/lib/util/fs/index.spec.ts b/lib/util/fs/index.spec.ts
index 81fe579b984dd3468bb237334374b5adf144d3b9..c79946db3fccf178a17371800720e6637f6922b7 100644
--- a/lib/util/fs/index.spec.ts
+++ b/lib/util/fs/index.spec.ts
@@ -9,7 +9,7 @@ import {
   writeLocalFile,
 } from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('readLocalFile', () => {
     it('reads buffer', async () => {
       expect(await readLocalFile(__filename)).toBeInstanceOf(Buffer);
@@ -25,7 +25,7 @@ describe(getName(__filename), () => {
   });
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('localPathExists', () => {
     it('returns true for file', async () => {
       expect(await localPathExists(__filename)).toBe(true);
@@ -41,7 +41,7 @@ describe(getName(__filename), () => {
   });
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('findLocalSiblingOrParent', () => {
     it('returns path for file', async () => {
       await withDir(
diff --git a/lib/util/fs/proxies.spec.ts b/lib/util/fs/proxies.spec.ts
index 4ea97c575553eb146f3b73d16703f4770108a12e..1d04cced94a6d52450371386e93e34b6b320ccfa 100644
--- a/lib/util/fs/proxies.spec.ts
+++ b/lib/util/fs/proxies.spec.ts
@@ -4,7 +4,7 @@ import { remove } from './proxies';
 
 jest.mock('fs-extra');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('remove', () => {
     it('should call remove in fs-extra', async () => {
       (fs.remove as jest.Mock).mockResolvedValue(undefined);
diff --git a/lib/util/git/index.spec.ts b/lib/util/git/index.spec.ts
index 9e0d33354ec4835598ec01b43092914d8ac67c04..b0ae4b96ce60c02438837f3825ff530a5bfd5666 100644
--- a/lib/util/git/index.spec.ts
+++ b/lib/util/git/index.spec.ts
@@ -4,7 +4,7 @@ import tmp from 'tmp-promise';
 import { getName } from '../../../test/util';
 import * as git from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   jest.setTimeout(15000);
 
   const masterCommitDate = new Date();
diff --git a/lib/util/git/private-key.spec.ts b/lib/util/git/private-key.spec.ts
index ca3e61f77fbfcf9cb7806d5312fc1052adaa2789..964c80271f8f723528ded76e9965bcc0a67e2dd2 100644
--- a/lib/util/git/private-key.spec.ts
+++ b/lib/util/git/private-key.spec.ts
@@ -11,7 +11,7 @@ jest.mock('../exec');
 
 const exec = mocked(exec_);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('writePrivateKey()', () => {
     it('returns if no private key', async () => {
       await expect(writePrivateKey()).resolves.not.toThrow();
diff --git a/lib/util/host-rules.spec.ts b/lib/util/host-rules.spec.ts
index e8172b4bc43a939555b0e36bb7f357bb067e4e3d..ac6b91c0d9e53bc25c44e341c40288f66978adb9 100644
--- a/lib/util/host-rules.spec.ts
+++ b/lib/util/host-rules.spec.ts
@@ -3,7 +3,7 @@ import { PLATFORM_TYPE_AZURE } from '../constants/platforms';
 import * as datasourceNuget from '../datasource/nuget';
 import { add, clear, find, findAll, hosts } from './host-rules';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     clear();
   });
diff --git a/lib/util/html.spec.ts b/lib/util/html.spec.ts
index 3ca72fd72e4740a9a8c5e477c790b95c7af0bae4..7509826c3fec3aaf37b2e5071f789226f5a90c11 100644
--- a/lib/util/html.spec.ts
+++ b/lib/util/html.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../test/util';
 import { HTMLElement, parse } from './html';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('parses HTML', () => {
     const body = parse('<div>Hello, world!</div>');
     expect(body.childNodes).toHaveLength(1);
diff --git a/lib/util/http/auth.spec.ts b/lib/util/http/auth.spec.ts
index e612b1958baaeebdf868aa18ccafc6959857c116..d053fd3704fb116be7eb5ab0ae2fd2e64854d136 100644
--- a/lib/util/http/auth.spec.ts
+++ b/lib/util/http/auth.spec.ts
@@ -7,7 +7,7 @@ import {
 import { applyAuthorization, removeAuthorization } from './auth';
 import { GotOptions } from './types';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('applyAuthorization', () => {
     it('does nothing', () => {
       const opts: GotOptions = {
diff --git a/lib/util/http/bitbucket-server.spec.ts b/lib/util/http/bitbucket-server.spec.ts
index f4daf43f7fbbe6bd9ed6ce92a016522992d07eaf..efd46a0ac172e36e48e8fcb5bdf206c14c8067a2 100644
--- a/lib/util/http/bitbucket-server.spec.ts
+++ b/lib/util/http/bitbucket-server.spec.ts
@@ -6,7 +6,7 @@ import { BitbucketServerHttp, setBaseUrl } from './bitbucket-server';
 
 const baseUrl = 'https://git.example.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let api: BitbucketServerHttp;
   beforeEach(() => {
     api = new BitbucketServerHttp();
diff --git a/lib/util/http/bitbucket.spec.ts b/lib/util/http/bitbucket.spec.ts
index 1ef4617c4b236d03f27606b7cb78ea813f5e086a..2ee810f52b4c6ead71b1923304aaa1e78f590bc0 100644
--- a/lib/util/http/bitbucket.spec.ts
+++ b/lib/util/http/bitbucket.spec.ts
@@ -6,7 +6,7 @@ import { BitbucketHttp, setBaseUrl } from './bitbucket';
 
 const baseUrl = 'https://api.bitbucket.org';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let api: BitbucketHttp;
   beforeEach(() => {
     api = new BitbucketHttp();
diff --git a/lib/util/http/gitea.spec.ts b/lib/util/http/gitea.spec.ts
index 6af6acf6f01229239a0c38dde0680723942502b8..6f28781cd9ff0c5056ced1e25d6f09c98859d786 100644
--- a/lib/util/http/gitea.spec.ts
+++ b/lib/util/http/gitea.spec.ts
@@ -2,7 +2,7 @@ import * as httpMock from '../../../test/http-mock';
 import { getName } from '../../../test/util';
 import { GiteaHttp, setBaseUrl } from './gitea';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   const baseUrl = 'https://gitea.renovatebot.com/api/v1';
 
   let giteaHttp: GiteaHttp;
diff --git a/lib/util/http/github.spec.ts b/lib/util/http/github.spec.ts
index c7868c8f93a0d068c249931020200c502b81a018..5e6a9ad57a3b99d3ae944a1a0adbea83b8c3f9b6 100644
--- a/lib/util/http/github.spec.ts
+++ b/lib/util/http/github.spec.ts
@@ -13,7 +13,7 @@ import { GithubHttp, setBaseUrl } from './github';
 
 const githubApiHost = 'https://api.github.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let githubApi: GithubHttp;
   beforeEach(() => {
     githubApi = new GithubHttp();
diff --git a/lib/util/http/gitlab.spec.ts b/lib/util/http/gitlab.spec.ts
index 1296a984570c6c2421703586b0d729a547193767..7483bfdba847a9b31cd102a94576962e59979bcf 100644
--- a/lib/util/http/gitlab.spec.ts
+++ b/lib/util/http/gitlab.spec.ts
@@ -12,7 +12,7 @@ hostRules.add({
 
 const gitlabApiHost = 'https://gitlab.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let gitlabApi: GitlabHttp;
 
   beforeEach(() => {
diff --git a/lib/util/http/host-rules.spec.ts b/lib/util/http/host-rules.spec.ts
index 9810d6febe04c446cbca24c80a13839c30bf5479..f450f61bbae4bf38b5ee6f0faafb1046cdd44a63 100644
--- a/lib/util/http/host-rules.spec.ts
+++ b/lib/util/http/host-rules.spec.ts
@@ -12,7 +12,7 @@ const url = 'https://github.com';
 
 jest.mock('global-agent');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   const options = {
     hostType: PLATFORM_TYPE_GITHUB,
   };
diff --git a/lib/util/http/index.spec.ts b/lib/util/http/index.spec.ts
index b32a05ee90afdabe38f4936db2460212dd54b097..f4bf4fe2c7fb64b3489082d38cb157beedbed7bb 100644
--- a/lib/util/http/index.spec.ts
+++ b/lib/util/http/index.spec.ts
@@ -10,7 +10,7 @@ import { Http } from '.';
 
 const baseUrl = 'http://renovate.com';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let http: Http;
 
   beforeEach(() => {
diff --git a/lib/util/http/queue.spec.ts b/lib/util/http/queue.spec.ts
index da6804f9b73fbc153c3d008e0f4e9e8b2ebf3937..585a7a29db66f7cd2f4483579e74caff5836d362 100644
--- a/lib/util/http/queue.spec.ts
+++ b/lib/util/http/queue.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { getQueue } from './queue';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('returns null for invalid URL', () => {
     expect(getQueue(null)).toBeNull();
   });
diff --git a/lib/util/index.spec.ts b/lib/util/index.spec.ts
index 80cd8e2592edd9e01f83e80a7ce369969e50d194..7c4ae4f9ab22f50de57222433da422352fb90760 100644
--- a/lib/util/index.spec.ts
+++ b/lib/util/index.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../test/util';
 import { sampleSize } from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('sampleSize', () => {
     const array = ['a', 'b', 'c', 'd'];
     it('returns correct sized array', () => {
diff --git a/lib/util/mask.spec.ts b/lib/util/mask.spec.ts
index 3e283611d6b1ef6177300135f3c5b94c446030d2..c67ed2818e169ee9116074cd2d251121d04b1b45 100644
--- a/lib/util/mask.spec.ts
+++ b/lib/util/mask.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../test/util';
 import { maskToken } from './mask';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('.maskToken', () => {
     it('returns value if passed value is falsy', () => {
       expect(maskToken('')).toEqual('');
diff --git a/lib/util/object.spec.ts b/lib/util/object.spec.ts
index 9056fde1619400514e1841889b0ba919b16084e6..129c2d3bcdd8330f2fdc0334989c15fe030b0d75 100644
--- a/lib/util/object.spec.ts
+++ b/lib/util/object.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../test/util';
 import { hasKey } from './object';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetModules();
   });
diff --git a/lib/util/regex.spec.ts b/lib/util/regex.spec.ts
index 09dba7c08311b2779f2cbc7241286d2534260dd5..d1f40fac2a9703a946fac057f09e3867bef207a8 100644
--- a/lib/util/regex.spec.ts
+++ b/lib/util/regex.spec.ts
@@ -4,7 +4,7 @@ import { getName } from '../../test/util';
 import { CONFIG_VALIDATION } from '../constants/error-messages';
 import { regEx } from './regex';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetModules();
   });
diff --git a/lib/util/sanitize.spec.ts b/lib/util/sanitize.spec.ts
index 1796bce4aa28aa8dd916414e0caf3107a0c88180..47a3df11943b949c255d2644b0b41fe2c1a1297a 100644
--- a/lib/util/sanitize.spec.ts
+++ b/lib/util/sanitize.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../test/util';
 import { add, clear, sanitize } from './sanitize';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     clear();
   });
diff --git a/lib/util/split.spec.ts b/lib/util/split.spec.ts
index 7c1a5237444e50c5df3b4d68a131bcea44ad5c60..856cff8ad1d3ae2f3c3b27fc5136d308f1eef492 100644
--- a/lib/util/split.spec.ts
+++ b/lib/util/split.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../test/util';
 import { addSplit, getSplits, splitInit } from './split';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('adds splits and returns results', () => {
     splitInit();
     addSplit('one');
diff --git a/lib/util/template/index.spec.ts b/lib/util/template/index.spec.ts
index 2bd2b2101d3018e2d1b9c20d1bcc97fe9c75056a..9d8e3206f4b77c48e1efee5f349409196d9151e7 100644
--- a/lib/util/template/index.spec.ts
+++ b/lib/util/template/index.spec.ts
@@ -2,7 +2,7 @@ import { getName } from '../../../test/util';
 import { getOptions } from '../../config/definitions';
 import * as template from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('has valid exposed config options', () => {
     const allOptions = getOptions().map((option) => option.name);
     const missingOptions = template.exposedConfigOptions.filter(
diff --git a/lib/util/url.spec.ts b/lib/util/url.spec.ts
index fd4adfc56ff30126848746e9f39b2b7b6618151a..e6425b7a84a5eb016a5b09ae7321c8549ed13b6e 100644
--- a/lib/util/url.spec.ts
+++ b/lib/util/url.spec.ts
@@ -6,7 +6,7 @@ import {
   validateUrl,
 } from './url';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   test.each([
     ['http://foo.io', '', 'http://foo.io'],
     ['http://foo.io/', '', 'http://foo.io'],
diff --git a/lib/versioning/gradle/index.spec.ts b/lib/versioning/gradle/index.spec.ts
index 9a180a63e045d700f05b0dfc7b066c0f445d6737..7c645edb0978f93502ef741e66823eefe28acbd8 100644
--- a/lib/versioning/gradle/index.spec.ts
+++ b/lib/versioning/gradle/index.spec.ts
@@ -2,7 +2,7 @@ import { getName } from '../../../test/util';
 import { compare, parseMavenBasedRange, parsePrefixRange } from './compare';
 import { api } from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('returns equality', () => {
     expect(compare('1', '1')).toEqual(0);
     expect(compare('a', 'a')).toEqual(0);
@@ -113,7 +113,7 @@ describe(getName(__filename), () => {
   });
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('isValid', () => {
     expect(api.isValid('1.0.0')).toBe(true);
     expect(api.isValid('[1.12.6,1.18.6]')).toBe(true);
diff --git a/lib/versioning/hex/index.spec.ts b/lib/versioning/hex/index.spec.ts
index 2c3b66bfb129e7e3f8835e7e284000bafd4fa77f..a4e219d6e0e125c4c164a15b896f7f9c54ba7097 100644
--- a/lib/versioning/hex/index.spec.ts
+++ b/lib/versioning/hex/index.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { api as hexScheme } from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('hexScheme.matches()', () => {
     it('handles tilde greater than', () => {
       expect(hexScheme.matches('4.2.0', '~> 4.0')).toBe(true);
diff --git a/lib/versioning/ivy/index.spec.ts b/lib/versioning/ivy/index.spec.ts
index 28de78297620eccb3e584d7ec4bae79387d3a788..57bbee555848c77e43f1161a9222273aae0c79e8 100644
--- a/lib/versioning/ivy/index.spec.ts
+++ b/lib/versioning/ivy/index.spec.ts
@@ -9,7 +9,7 @@ import ivy from '.';
 
 const { getNewValue, isValid, isVersion, matches } = ivy;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('parses dynamic revisions', () => {
     expect(parseDynamicRevision(null)).toBeNull();
     expect(parseDynamicRevision('')).toBeNull();
@@ -61,7 +61,7 @@ describe(getName(__filename), () => {
   });
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('isValid', () => {
     expect(isValid('')).toBe(false);
     expect(isValid('1.0.0')).toBe(true);
diff --git a/lib/versioning/loose/utils.spec.ts b/lib/versioning/loose/utils.spec.ts
index ef853ab5016a6485e5fc8cc66dd9bdd9988337a4..94a8e1049e008747f703ffa8e59bff1c38deb7b9 100644
--- a/lib/versioning/loose/utils.spec.ts
+++ b/lib/versioning/loose/utils.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { GenericVersion, GenericVersioningApi } from './generic';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   const optionalFunctions = [
     'isLessThanRange',
     'valueToVersion',
diff --git a/lib/versioning/maven/index.spec.ts b/lib/versioning/maven/index.spec.ts
index c17fc53c0e32b1210b880371355615849f752443..537d8ba7958aabddc4946a8fd6e3df92122f8229 100644
--- a/lib/versioning/maven/index.spec.ts
+++ b/lib/versioning/maven/index.spec.ts
@@ -18,7 +18,7 @@ const {
   getNewValue,
 } = maven;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('returns equality', () => {
     expect(compare('1.0.0', '1')).toEqual(0);
     expect(compare('1-a1', '1-alpha-1')).toEqual(0);
@@ -286,7 +286,7 @@ describe(getName(__filename), () => {
   });
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   it('returns valid', () => {
     expect(isValid('1.0.0')).toBe(true);
     expect(isValid('[1.12.6,1.18.6]')).toBe(true);
diff --git a/lib/versioning/poetry/index.spec.ts b/lib/versioning/poetry/index.spec.ts
index 9df065233a14b9a2529657a36493f5757e356291..1838758c1ceafd0426d3a3ecbbc6eff68d045a73 100644
--- a/lib/versioning/poetry/index.spec.ts
+++ b/lib/versioning/poetry/index.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { api as versionig } from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('equals', () => {
     it.each([
       ['1', '1'],
diff --git a/lib/versioning/ubuntu/index.spec.ts b/lib/versioning/ubuntu/index.spec.ts
index 3dfcdbe2bc0a3606387d311b968482d101136d55..277859e3d70119c7c935d8d8a3501a3526df8856 100644
--- a/lib/versioning/ubuntu/index.spec.ts
+++ b/lib/versioning/ubuntu/index.spec.ts
@@ -1,7 +1,7 @@
 import { getName } from '../../../test/util';
 import { api as ubuntu } from '.';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   // validation
 
   it('isValid', () => {
diff --git a/lib/workers/branch/auto-replace.spec.ts b/lib/workers/branch/auto-replace.spec.ts
index 125d9237d34620da8af0e7224b5023685599562f..6b7b62fdb3e4a946b0edb6e3322c5f30bfc4534a 100644
--- a/lib/workers/branch/auto-replace.spec.ts
+++ b/lib/workers/branch/auto-replace.spec.ts
@@ -4,11 +4,11 @@ import { extractPackageFile } from '../../manager/html';
 import type { BranchUpgradeConfig } from '../types';
 import { doAutoReplace } from './auto-replace';
 
-const sampleHtml = loadFixture(__filename, 'sample.html', `../../manager/html`);
+const sampleHtml = loadFixture('sample.html', `../../manager/html`);
 
 jest.mock('../../util/fs');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('doAutoReplace', () => {
     let reuseExistingBranch: boolean;
     let upgrade: BranchUpgradeConfig;
diff --git a/lib/workers/branch/automerge.spec.ts b/lib/workers/branch/automerge.spec.ts
index d963832fddcf9e5394d58e99971365fe1293f612..0e6f62784a0c4abfb818c0ce0b6c00f1929d7c0e 100644
--- a/lib/workers/branch/automerge.spec.ts
+++ b/lib/workers/branch/automerge.spec.ts
@@ -6,7 +6,7 @@ import { tryBranchAutomerge } from './automerge';
 
 jest.mock('../../util/git');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('tryBranchAutomerge', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/branch/check-existing.spec.ts b/lib/workers/branch/check-existing.spec.ts
index e92bcadf84c18d4f662e5636baa20fbc737619eb..e20ca7d3369832dcac32c16e0b030a0853c99be8 100644
--- a/lib/workers/branch/check-existing.spec.ts
+++ b/lib/workers/branch/check-existing.spec.ts
@@ -3,7 +3,7 @@ import { PrState } from '../../types';
 import type { BranchConfig } from '../types';
 import { prAlreadyExisted } from './check-existing';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('prAlreadyExisted', () => {
     let config: BranchConfig;
     beforeEach(() => {
diff --git a/lib/workers/branch/commit.spec.ts b/lib/workers/branch/commit.spec.ts
index 50d81df7e20c19101f32ed9264822cdd28eb0ad4..3fd61b5182ced987a633b90f34e46ea50c12e68e 100644
--- a/lib/workers/branch/commit.spec.ts
+++ b/lib/workers/branch/commit.spec.ts
@@ -5,7 +5,7 @@ import { commitFilesToBranch } from './commit';
 
 jest.mock('../../util/git');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('commitFilesToBranch', () => {
     let config: BranchConfig;
     beforeEach(() => {
diff --git a/lib/workers/branch/get-updated.spec.ts b/lib/workers/branch/get-updated.spec.ts
index 5da097965c79d6f91c062ab36fde55ce51e79765..132b31bebabe93212234534955086f03d49509f7 100644
--- a/lib/workers/branch/get-updated.spec.ts
+++ b/lib/workers/branch/get-updated.spec.ts
@@ -21,7 +21,7 @@ jest.mock('../../manager/git-submodules');
 jest.mock('../../util/git');
 jest.mock('./auto-replace');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getUpdatedPackageFiles()', () => {
     let config: BranchConfig;
     beforeEach(() => {
diff --git a/lib/workers/branch/index.spec.ts b/lib/workers/branch/index.spec.ts
index fadb85c91c6da20af404bcd4131b0d18f23363bb..5d6b829180c09a654b4e031f43d95c76a86e0ae4 100644
--- a/lib/workers/branch/index.spec.ts
+++ b/lib/workers/branch/index.spec.ts
@@ -62,7 +62,7 @@ const sanitize = mocked(_sanitize);
 const fs = mocked(_fs);
 const limits = mocked(_limits);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('processBranch', () => {
     const updatedPackageFiles: PackageFilesResult = {
       updatedPackageFiles: [],
diff --git a/lib/workers/branch/lock-files/index.spec.ts b/lib/workers/branch/lock-files/index.spec.ts
index cc4bb406f60be979363fbbc8e10dfa0a12469822..dc73ebb3cb843f9a4d86deb7ffabcdf3fae09dfb 100644
--- a/lib/workers/branch/lock-files/index.spec.ts
+++ b/lib/workers/branch/lock-files/index.spec.ts
@@ -27,7 +27,7 @@ hostRules.find = jest.fn((_) => ({
 
 const { writeUpdatedPackageFiles, getAdditionalFiles } = lockFiles;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('writeUpdatedPackageFiles', () => {
     let config: PostUpdateConfig;
     beforeEach(() => {
diff --git a/lib/workers/branch/reuse.spec.ts b/lib/workers/branch/reuse.spec.ts
index 8acbb4e062bd12dc2ed8e2112d7fcb40f95115d3..1926d260e0f3da7648b7da8b7c9d9b8f1b0b171e 100644
--- a/lib/workers/branch/reuse.spec.ts
+++ b/lib/workers/branch/reuse.spec.ts
@@ -6,7 +6,7 @@ import { shouldReuseExistingBranch } from './reuse';
 
 jest.mock('../../util/git');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('shouldReuseExistingBranch(config)', () => {
     const pr: Pr = {
       sourceBranch: 'master',
diff --git a/lib/workers/branch/schedule.spec.ts b/lib/workers/branch/schedule.spec.ts
index 4848afff0db2c55e8e98dccd65692022b0ffbea0..0b0978d9a3dd9a0b31e552d80ab9d4638cc8c156 100644
--- a/lib/workers/branch/schedule.spec.ts
+++ b/lib/workers/branch/schedule.spec.ts
@@ -3,7 +3,7 @@ import { getName } from '../../../test/util';
 import type { RenovateConfig } from '../../config/types';
 import * as schedule from './schedule';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('hasValidTimezone(schedule)', () => {
     it('returns false for invalid timezone', () => {
       expect(schedule.hasValidTimezone('Asia')[0]).toBe(false);
diff --git a/lib/workers/branch/status-checks.spec.ts b/lib/workers/branch/status-checks.spec.ts
index 8f1ec712b6ff809a9e21f82612893fe18d5c9c29..7123d978da6660e13cdc34db643fa1b04cd12c47 100644
--- a/lib/workers/branch/status-checks.spec.ts
+++ b/lib/workers/branch/status-checks.spec.ts
@@ -2,7 +2,7 @@ import { defaultConfig, getName, platform } from '../../../test/util';
 import { BranchStatus } from '../../types';
 import { StabilityConfig, setStability } from './status-checks';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('setStability', () => {
     let config: StabilityConfig;
     beforeEach(() => {
diff --git a/lib/workers/global/autodiscover.spec.ts b/lib/workers/global/autodiscover.spec.ts
index cf0da927bc871953ac8ef9ba9510e0ca05981ca3..7e5d2f08fa993f7db99e6e01dc279efc5597d9fc 100644
--- a/lib/workers/global/autodiscover.spec.ts
+++ b/lib/workers/global/autodiscover.spec.ts
@@ -13,7 +13,7 @@ jest.unmock('../../platform');
 const hostRules = _hostRules;
 const ghApi: jest.Mocked<typeof _ghApi> = _ghApi as never;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let config: RenovateConfig;
   beforeEach(async () => {
     jest.resetAllMocks();
diff --git a/lib/workers/global/index.spec.ts b/lib/workers/global/index.spec.ts
index 0ad22392d4bd1906a39256395425553f9a4b37cf..b0478962eee8dbd22274b07d8c0a888d90ba13d4 100644
--- a/lib/workers/global/index.spec.ts
+++ b/lib/workers/global/index.spec.ts
@@ -19,7 +19,7 @@ const configParser: jest.Mocked<typeof _configParser> = _configParser as never;
 const platform: jest.Mocked<typeof _platform> = _platform as never;
 const limits = _limits;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     jest.resetAllMocks();
     logger.getProblems.mockImplementationOnce(() => []);
diff --git a/lib/workers/global/limits.spec.ts b/lib/workers/global/limits.spec.ts
index 73a6b401f6575ec97db3eb7904054c34b164134d..1b62c0c7607b97520aa2526f06936cdbefdab375 100644
--- a/lib/workers/global/limits.spec.ts
+++ b/lib/workers/global/limits.spec.ts
@@ -7,7 +7,7 @@ import {
   setMaxLimit,
 } from './limits';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     resetAllLimits();
   });
diff --git a/lib/workers/pr/automerge.spec.ts b/lib/workers/pr/automerge.spec.ts
index 1343997e39c9289bc3ee1f779535d5ca1bd1a226..40bfd2433c30c6f228f6b4606a2c412849da17d0 100644
--- a/lib/workers/pr/automerge.spec.ts
+++ b/lib/workers/pr/automerge.spec.ts
@@ -9,7 +9,7 @@ jest.mock('../../util/git');
 const platform = mocked(_platform);
 const defaultConfig = getConfig();
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('checkAutoMerge(pr, config)', () => {
     let config: BranchConfig;
     let pr: Pr;
diff --git a/lib/workers/pr/body/controls.spec.ts b/lib/workers/pr/body/controls.spec.ts
index e9efa97beca5f81cd606c702dac6ad43b1fcc2f3..8c03c3a5fb91871f18aaa5128eb1f9fafde4d65c 100644
--- a/lib/workers/pr/body/controls.spec.ts
+++ b/lib/workers/pr/body/controls.spec.ts
@@ -5,7 +5,7 @@ import { getControls } from './controls';
 
 jest.mock('../../../util/git');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getControls', () => {
     let branchConfig: BranchConfig;
     beforeEach(() => {
diff --git a/lib/workers/pr/changelog/github.spec.ts b/lib/workers/pr/changelog/github.spec.ts
index f706f47dc8e0530dc0057e67b2a6d8fd9892d992..9a8cf92ec6bd971f5d95e61f0c3ffbd1c6eea1ef 100644
--- a/lib/workers/pr/changelog/github.spec.ts
+++ b/lib/workers/pr/changelog/github.spec.ts
@@ -29,7 +29,7 @@ const upgrade: BranchUpgradeConfig = {
   ],
 };
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getChangeLogJSON', () => {
     beforeEach(() => {
       hostRules.clear();
diff --git a/lib/workers/pr/changelog/gitlab.spec.ts b/lib/workers/pr/changelog/gitlab.spec.ts
index 226371edb65019fda0cdfe5ff164f270e282bb0f..2144c81d8871c43094389ec21875035719318f03 100644
--- a/lib/workers/pr/changelog/gitlab.spec.ts
+++ b/lib/workers/pr/changelog/gitlab.spec.ts
@@ -31,7 +31,7 @@ const upgrade: BranchUpgradeConfig = {
 
 const baseUrl = 'https://gitlab.com/';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getChangeLogJSON', () => {
     beforeEach(() => {
       httpMock.setup();
diff --git a/lib/workers/pr/changelog/index.spec.ts b/lib/workers/pr/changelog/index.spec.ts
index 57e0ad20a3e84e9c02db27eb16ad44ff27db68d0..e461f91f2bd2532bc6bbe5465a7109768fcb0535 100644
--- a/lib/workers/pr/changelog/index.spec.ts
+++ b/lib/workers/pr/changelog/index.spec.ts
@@ -31,7 +31,7 @@ const upgrade: BranchConfig = partial<BranchConfig>({
   ],
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getChangeLogJSON', () => {
     beforeEach(() => {
       httpMock.setup();
diff --git a/lib/workers/pr/changelog/release-notes.spec.ts b/lib/workers/pr/changelog/release-notes.spec.ts
index f28f25f667f18239f9293c9e277de1a0599af935..7d8415af16ff61332dfdf15ab252d9fdffccac54 100644
--- a/lib/workers/pr/changelog/release-notes.spec.ts
+++ b/lib/workers/pr/changelog/release-notes.spec.ts
@@ -15,20 +15,12 @@ jest.mock('../../../util/host-rules');
 
 const hostRules = mocked(_hostRules);
 
-const angularJsChangelogMd = loadFixture(__filename, 'angular-js.md', '..');
-const jestChangelogMd = loadFixture(__filename, 'jest.md', '..');
-const jsYamlChangelogMd = loadFixture(__filename, 'js-yaml.md', '..');
-const yargsChangelogMd = loadFixture(__filename, 'yargs.md', '..');
-const adapterutilsChangelogMd = loadFixture(
-  __filename,
-  'adapter-utils.md',
-  '..'
-);
-const gitterWebappChangelogMd = loadFixture(
-  __filename,
-  'gitter-webapp.md',
-  '..'
-);
+const angularJsChangelogMd = loadFixture('angular-js.md', '..');
+const jestChangelogMd = loadFixture('jest.md', '..');
+const jsYamlChangelogMd = loadFixture('js-yaml.md', '..');
+const yargsChangelogMd = loadFixture('yargs.md', '..');
+const adapterutilsChangelogMd = loadFixture('adapter-utils.md', '..');
+const gitterWebappChangelogMd = loadFixture('gitter-webapp.md', '..');
 
 const githubTreeResponse = {
   tree: [
@@ -44,7 +36,7 @@ const gitlabTreeResponse = [
   { path: 'README.md', type: 'blob' },
 ];
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     httpMock.setup();
     hostRules.find.mockReturnValue({});
diff --git a/lib/workers/pr/changelog/releases.spec.ts b/lib/workers/pr/changelog/releases.spec.ts
index 9211153b76974a85fd2d5522a1e2c6e1686356cc..a0f924c1c6babcbbbbdd2bccd2d862f5eb5874d2 100644
--- a/lib/workers/pr/changelog/releases.spec.ts
+++ b/lib/workers/pr/changelog/releases.spec.ts
@@ -5,7 +5,7 @@ import * as npmVersioning from '../../../versioning/npm';
 import type { BranchUpgradeConfig } from '../../types';
 import * as releases from './releases';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getReleaseNotes()', () => {
     beforeEach(() => {
       jest.spyOn(datasource, 'getPkgReleases').mockResolvedValueOnce({
diff --git a/lib/workers/pr/code-owners.spec.ts b/lib/workers/pr/code-owners.spec.ts
index b1c7ec28d84b37dc4d7078bd32310d07c5130d18..9bb83a09ee191172cd0f145ce16c31968a18c44d 100644
--- a/lib/workers/pr/code-owners.spec.ts
+++ b/lib/workers/pr/code-owners.spec.ts
@@ -6,7 +6,7 @@ import { codeOwnersForPr } from './code-owners';
 jest.mock('../../util/fs');
 jest.mock('../../util/git');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('codeOwnersForPr', () => {
     let pr: Pr;
     beforeEach(() => {
diff --git a/lib/workers/pr/index.spec.ts b/lib/workers/pr/index.spec.ts
index 507d51cda845c769900bbd688063e28b2e740418..6eaf4167ac3e858555eb9ae0f3db48015d2af951 100644
--- a/lib/workers/pr/index.spec.ts
+++ b/lib/workers/pr/index.spec.ts
@@ -99,7 +99,7 @@ function setupGitlabChangelogMock() {
   gitlabChangelogHelper.getChangeLogJSON.mockResolvedValue(resultValue);
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('checkAutoMerge(pr, config)', () => {
     let config: BranchConfig;
     let pr: Pr;
diff --git a/lib/workers/repository/configured.spec.ts b/lib/workers/repository/configured.spec.ts
index e65152d94fc2bd30c70af0dd8fe50519d0bb0525..16983952ba6e5b31ca100e33e6d8ffee693d232a 100644
--- a/lib/workers/repository/configured.spec.ts
+++ b/lib/workers/repository/configured.spec.ts
@@ -7,7 +7,7 @@ beforeEach(() => {
   config = getConfig();
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('checkIfConfigured()', () => {
     it('returns', () => {
       expect(() => checkIfConfigured(config)).not.toThrow();
diff --git a/lib/workers/repository/dependency-dashboard.spec.ts b/lib/workers/repository/dependency-dashboard.spec.ts
index 35f20a00daf67e0359976a6206fc9740569d05d2..c1c5e974621d66cdfce2e87b23cc76c8793a9dfc 100644
--- a/lib/workers/repository/dependency-dashboard.spec.ts
+++ b/lib/workers/repository/dependency-dashboard.spec.ts
@@ -46,7 +46,7 @@ async function dryRun(
   expect(platform.findPr).toHaveBeenCalledTimes(findPrCalls);
 }
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('ensureMasterIssue()', () => {
     beforeEach(() => {
       setAdminConfig();
@@ -239,7 +239,7 @@ describe(getName(__filename), () => {
         config.dependencyDashboardTitle
       );
       expect(platform.ensureIssue.mock.calls[0][0].body).toBe(
-        loadFixture(__filename, 'master-issue_with_8_PR.txt')
+        loadFixture('master-issue_with_8_PR.txt')
       );
       expect(platform.getBranchPr).toHaveBeenCalledTimes(0);
       expect(platform.findPr).toHaveBeenCalledTimes(0);
@@ -279,7 +279,7 @@ describe(getName(__filename), () => {
         config.dependencyDashboardTitle
       );
       expect(platform.ensureIssue.mock.calls[0][0].body).toBe(
-        loadFixture(__filename, 'master-issue_with_2_PR_edited.txt')
+        loadFixture('master-issue_with_2_PR_edited.txt')
       );
       expect(platform.getBranchPr).toHaveBeenCalledTimes(2);
       expect(platform.getBranchPr.mock.calls[0][0]).toBe('branchName1');
@@ -329,7 +329,7 @@ describe(getName(__filename), () => {
         config.dependencyDashboardTitle
       );
       expect(platform.ensureIssue.mock.calls[0][0].body).toBe(
-        loadFixture(__filename, 'master-issue_with_3_PR_in_progress.txt')
+        loadFixture('master-issue_with_3_PR_in_progress.txt')
       );
       expect(platform.getBranchPr).toHaveBeenCalledTimes(3);
       expect(platform.getBranchPr.mock.calls[0][0]).toBe('branchName1');
@@ -373,7 +373,7 @@ describe(getName(__filename), () => {
         config.dependencyDashboardTitle
       );
       expect(platform.ensureIssue.mock.calls[0][0].body).toBe(
-        loadFixture(__filename, 'master-issue_with_2_PR_closed_ignored.txt')
+        loadFixture('master-issue_with_2_PR_closed_ignored.txt')
       );
       expect(platform.getBranchPr).toHaveBeenCalledTimes(0);
       expect(platform.findPr).toHaveBeenCalledTimes(2);
@@ -431,7 +431,7 @@ describe(getName(__filename), () => {
         config.dependencyDashboardTitle
       );
       expect(platform.ensureIssue.mock.calls[0][0].body).toBe(
-        loadFixture(__filename, 'master-issue_with_3_PR_in_approval.txt')
+        loadFixture('master-issue_with_3_PR_in_approval.txt')
       );
       expect(platform.findPr).toHaveBeenCalledTimes(0);
 
diff --git a/lib/workers/repository/error-config.spec.ts b/lib/workers/repository/error-config.spec.ts
index 6c5f39d1a615f2ebe75eca2527ead94c8894e00c..f0df8e445ad8145a53c8352a4eb4646c2ec8e679 100644
--- a/lib/workers/repository/error-config.spec.ts
+++ b/lib/workers/repository/error-config.spec.ts
@@ -19,7 +19,7 @@ beforeEach(() => {
   config = getConfig();
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('raiseConfigWarningIssue()', () => {
     beforeEach(() => {
       setAdminConfig();
diff --git a/lib/workers/repository/error.spec.ts b/lib/workers/repository/error.spec.ts
index 6d59622d32aed4fe06a3947284fb4afcf47febb9..f99b290d9694c85fa96b7be3595b76e5fb217b81 100644
--- a/lib/workers/repository/error.spec.ts
+++ b/lib/workers/repository/error.spec.ts
@@ -38,7 +38,7 @@ beforeEach(() => {
   config = getConfig();
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('handleError()', () => {
     const errors = [
       REPOSITORY_UNINITIATED,
diff --git a/lib/workers/repository/extract/file-match.spec.ts b/lib/workers/repository/extract/file-match.spec.ts
index 982a9a61b3b239db9fecfa89db4dece0d1ead7cd..a87f66406592ed35b487cebe9753a7334a754427 100644
--- a/lib/workers/repository/extract/file-match.spec.ts
+++ b/lib/workers/repository/extract/file-match.spec.ts
@@ -3,7 +3,7 @@ import * as fileMatch from './file-match';
 
 jest.mock('../../../util/git');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   const fileList = ['package.json', 'frontend/package.json'];
   describe('getIncludedFiles()', () => {
     it('returns fileList if no includePaths', () => {
diff --git a/lib/workers/repository/extract/index.spec.ts b/lib/workers/repository/extract/index.spec.ts
index 6b05823675fb15436505b85bcfce47c69abae05e..4142dc7094de21f47c64a80deb56d4a3e6ab3aab 100644
--- a/lib/workers/repository/extract/index.spec.ts
+++ b/lib/workers/repository/extract/index.spec.ts
@@ -8,7 +8,7 @@ jest.mock('../../../util/git');
 
 const managerFiles = mocked(_managerFiles);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extractAllDependencies()', () => {
     let config: RenovateConfig;
     const fileList = ['README', 'package.json', 'tasks/ansible.yaml'];
diff --git a/lib/workers/repository/extract/manager-files.spec.ts b/lib/workers/repository/extract/manager-files.spec.ts
index cd33536ac3d281f9dbcc1b15378d3e31cf66aef6..e437014ec401877b66bca88f6d4600c3b94b1f12 100644
--- a/lib/workers/repository/extract/manager-files.spec.ts
+++ b/lib/workers/repository/extract/manager-files.spec.ts
@@ -11,7 +11,7 @@ jest.mock('../../../util/fs');
 const fileMatch = mocked(_fileMatch);
 const html = mocked(_html);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getManagerPackageFiles()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/finalise/prune.spec.ts b/lib/workers/repository/finalise/prune.spec.ts
index e8cd000e469418323222a29ffcf925b8650ab2bc..eac6395691f28234d05b67c1bf6f766b9bf026b8 100644
--- a/lib/workers/repository/finalise/prune.spec.ts
+++ b/lib/workers/repository/finalise/prune.spec.ts
@@ -20,7 +20,7 @@ beforeEach(() => {
   config.warnings = [];
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('pruneStaleBranches()', () => {
     beforeEach(() => {
       setAdminConfig();
diff --git a/lib/workers/repository/index.spec.ts b/lib/workers/repository/index.spec.ts
index 0d5d50fa13855c883d1057e244ab42a1f22fbad8..c6c6f5e5c1f922caa537e32cac31cf3b6ff38be4 100644
--- a/lib/workers/repository/index.spec.ts
+++ b/lib/workers/repository/index.spec.ts
@@ -12,7 +12,7 @@ jest.mock('./process');
 jest.mock('./result');
 jest.mock('./error');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('renovateRepository()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/init/apis.spec.ts b/lib/workers/repository/init/apis.spec.ts
index 6a24a20e8cd1ad147b49cdb22312784fc9ffe0e5..1a7846d200c298bee62293ea2f3fa9c27436b675 100644
--- a/lib/workers/repository/init/apis.spec.ts
+++ b/lib/workers/repository/init/apis.spec.ts
@@ -10,7 +10,7 @@ import {
 } from '../../../constants/error-messages';
 import { initApis } from './apis';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('initApis', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/init/cache.spec.ts b/lib/workers/repository/init/cache.spec.ts
index 56fcc98e793d0e1e831a440a2596ebf665e2aa02..6dbb39a1264897f63550b7df78b593863cb2bbc1 100644
--- a/lib/workers/repository/init/cache.spec.ts
+++ b/lib/workers/repository/init/cache.spec.ts
@@ -1,7 +1,7 @@
 import { RenovateConfig, getConfig, getName } from '../../../../test/util';
 import { initializeCaches } from './cache';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('initializeCaches()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/init/config.spec.ts b/lib/workers/repository/init/config.spec.ts
index aa05fbf28ae731b205c3bc0853a7c1afaab02941..15084baeb5040f61536e3dd0ba72b15b58c875fa 100644
--- a/lib/workers/repository/init/config.spec.ts
+++ b/lib/workers/repository/init/config.spec.ts
@@ -31,7 +31,7 @@ beforeEach(() => {
 jest.mock('../../../config/migration');
 jest.mock('../../../config/migrate-validate');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('detectRepoFileConfig()', () => {
     it('returns config if not found', () => {
       git.getFileList.mockResolvedValue(['package.json']);
diff --git a/lib/workers/repository/init/index.spec.ts b/lib/workers/repository/init/index.spec.ts
index 71fcba1b876f99141ef30aab49568a4c60a267f6..b5ca2abda7640b96473a8def0c49119d31ec8bd7 100644
--- a/lib/workers/repository/init/index.spec.ts
+++ b/lib/workers/repository/init/index.spec.ts
@@ -18,7 +18,7 @@ const config = mocked(_config);
 const onboarding = mocked(_onboarding);
 const secrets = mocked(_secrets);
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('initRepo', () => {
     it('runs', async () => {
       apis.initApis.mockResolvedValue({} as never);
diff --git a/lib/workers/repository/init/semantic.spec.ts b/lib/workers/repository/init/semantic.spec.ts
index ab6def7cd3c84912726ed4c82eabe7be58348f2b..1ac0f5a3390d7923ad55610b1d18b2502a414379 100644
--- a/lib/workers/repository/init/semantic.spec.ts
+++ b/lib/workers/repository/init/semantic.spec.ts
@@ -11,7 +11,7 @@ beforeEach(() => {
   config.warnings = [];
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('detectSemanticCommits()', () => {
     it('detects false if unknown', async () => {
       config.semanticCommits = null;
diff --git a/lib/workers/repository/init/vulnerability.spec.ts b/lib/workers/repository/init/vulnerability.spec.ts
index c3e648704da1c08d5104d0896133864599fe5e21..55857bc4b63c770caba9739689be61d9088c7f96 100644
--- a/lib/workers/repository/init/vulnerability.spec.ts
+++ b/lib/workers/repository/init/vulnerability.spec.ts
@@ -15,7 +15,7 @@ beforeEach(() => {
   config = JSON.parse(JSON.stringify(defaultConfig));
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('detectVulnerabilityAlerts()', () => {
     it('returns if alerts are missing', async () => {
       delete config.vulnerabilityAlerts;
diff --git a/lib/workers/repository/onboarding/branch/config.spec.ts b/lib/workers/repository/onboarding/branch/config.spec.ts
index 2755145829367947ceaba1021342b6c88484b035..0ace4010ddfb54a4d8e3a597284406601be0d9ad 100644
--- a/lib/workers/repository/onboarding/branch/config.spec.ts
+++ b/lib/workers/repository/onboarding/branch/config.spec.ts
@@ -7,7 +7,7 @@ jest.mock('../../../../config/presets/local');
 
 const mockedPresets = presets as jest.Mocked<typeof presets>;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let config: RenovateConfig;
   let onboardingConfig: string;
   beforeEach(() => {
diff --git a/lib/workers/repository/onboarding/branch/create.spec.ts b/lib/workers/repository/onboarding/branch/create.spec.ts
index 3ebd563534dddada1edc914885e80c18b77e7d9e..6005cafb01dac023c59ed6b50ff6a3cc84b9d369 100644
--- a/lib/workers/repository/onboarding/branch/create.spec.ts
+++ b/lib/workers/repository/onboarding/branch/create.spec.ts
@@ -25,7 +25,7 @@ const buildExpectedCommitFilesArgument = (
   message,
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   let config: RenovateConfig;
   beforeEach(() => {
     jest.clearAllMocks();
diff --git a/lib/workers/repository/onboarding/branch/index.spec.ts b/lib/workers/repository/onboarding/branch/index.spec.ts
index 52e92a19480934f173c29adcbdf5a16499a62ee9..f2e56792bbcf11ab2a3e70248f9bd3eaf46b5108 100644
--- a/lib/workers/repository/onboarding/branch/index.spec.ts
+++ b/lib/workers/repository/onboarding/branch/index.spec.ts
@@ -18,7 +18,7 @@ jest.mock('../../../../workers/repository/onboarding/branch/rebase');
 jest.mock('../../../../util/fs');
 jest.mock('../../../../util/git');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('checkOnboardingBranch', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/onboarding/branch/rebase.spec.ts b/lib/workers/repository/onboarding/branch/rebase.spec.ts
index 90a802a0d2666a4bcfcf07c0a710656e80973383..52e12e6f4a738efe9c53350d66f2522349af56cc 100644
--- a/lib/workers/repository/onboarding/branch/rebase.spec.ts
+++ b/lib/workers/repository/onboarding/branch/rebase.spec.ts
@@ -8,7 +8,7 @@ import { rebaseOnboardingBranch } from './rebase';
 
 jest.mock('../../../../util/git');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('rebaseOnboardingBranch()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/onboarding/pr/base-branch.spec.ts b/lib/workers/repository/onboarding/pr/base-branch.spec.ts
index fae3c6123bd4fb86f837ab74502d2264012e6c12..f15b1554460d5fda34c49e458121a04ed978f417 100644
--- a/lib/workers/repository/onboarding/pr/base-branch.spec.ts
+++ b/lib/workers/repository/onboarding/pr/base-branch.spec.ts
@@ -2,7 +2,7 @@ import { RenovateConfig, getConfig, getName } from '../../../../../test/util';
 
 import { getBaseBranchDesc } from './base-branch';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getBaseBranchDesc()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/onboarding/pr/config-description.spec.ts b/lib/workers/repository/onboarding/pr/config-description.spec.ts
index 583a6de799986a780e8b6f1ef221af3dc77b0caa..ee9c10b810ff8781d3d4a78c2c40dcb91147524f 100644
--- a/lib/workers/repository/onboarding/pr/config-description.spec.ts
+++ b/lib/workers/repository/onboarding/pr/config-description.spec.ts
@@ -2,7 +2,7 @@ import { RenovateConfig, getConfig, getName } from '../../../../../test/util';
 import type { PackageFile } from '../../../../manager/types';
 import { getConfigDesc } from './config-description';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getConfigDesc()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/onboarding/pr/errors-warnings.spec.ts b/lib/workers/repository/onboarding/pr/errors-warnings.spec.ts
index b4bf84b3a3845387e19008581336e365da5241d1..a34064ea1bd5dd7842334a990a8918615dafb818 100644
--- a/lib/workers/repository/onboarding/pr/errors-warnings.spec.ts
+++ b/lib/workers/repository/onboarding/pr/errors-warnings.spec.ts
@@ -2,7 +2,7 @@ import { RenovateConfig, getConfig, getName } from '../../../../../test/util';
 import type { PackageFile } from '../../../../manager/types';
 import { getDepWarnings, getErrors, getWarnings } from './errors-warnings';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getWarnings()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/onboarding/pr/index.spec.ts b/lib/workers/repository/onboarding/pr/index.spec.ts
index 516e86f852bf5bc8f2b0110ab7c2220af2b2bb2b..52060ab572ba462d3aeb3099f54a0bcf0be1052c 100644
--- a/lib/workers/repository/onboarding/pr/index.spec.ts
+++ b/lib/workers/repository/onboarding/pr/index.spec.ts
@@ -15,7 +15,7 @@ import { ensureOnboardingPr } from '.';
 
 jest.mock('../../../../util/git');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('ensureOnboardingPr()', () => {
     let config: RenovateConfig;
     let packageFiles: Record<string, PackageFile[]>;
diff --git a/lib/workers/repository/onboarding/pr/pr-list.spec.ts b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
index 742419fbce197633be9b263f0a46aad8bd210f17..66ec9acf9ae1d5570f0ebe204908d0f6679250ee 100644
--- a/lib/workers/repository/onboarding/pr/pr-list.spec.ts
+++ b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
@@ -2,7 +2,7 @@ import { RenovateConfig, getConfig, getName } from '../../../../../test/util';
 import type { BranchConfig } from '../../../types';
 import { getPrList } from './pr-list';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getPrList()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/process/deprecated.spec.ts b/lib/workers/repository/process/deprecated.spec.ts
index d5bc7dd78b047cded40abca9a8902e8241373825..bc11689699b3c61518956b89288c74e714309cea 100644
--- a/lib/workers/repository/process/deprecated.spec.ts
+++ b/lib/workers/repository/process/deprecated.spec.ts
@@ -1,7 +1,7 @@
 import { RenovateConfig, getName, platform } from '../../../../test/util';
 import { raiseDeprecationWarnings } from './deprecated';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('raiseDeprecationWarnings()', () => {
     it('returns if onboarding', async () => {
       const config = {};
diff --git a/lib/workers/repository/process/extract-update.spec.ts b/lib/workers/repository/process/extract-update.spec.ts
index bf0b61b4f4cddf7ea032922b05c41071ad1d1f18..7c63cf3c939f8cbb74da492b8025af41149eee0b 100644
--- a/lib/workers/repository/process/extract-update.spec.ts
+++ b/lib/workers/repository/process/extract-update.spec.ts
@@ -21,7 +21,7 @@ branchify.branchifyUpgrades.mockResolvedValueOnce({
   branchList: ['branchName'],
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('extract()', () => {
     it('runs with no baseBranches', async () => {
       const config = {
diff --git a/lib/workers/repository/process/fetch.spec.ts b/lib/workers/repository/process/fetch.spec.ts
index d87cb4c3c12f252df80434c5ee1fb73bebf9e758..7830d71694ad8bbc6990ba6df1004783aedc37ea 100644
--- a/lib/workers/repository/process/fetch.spec.ts
+++ b/lib/workers/repository/process/fetch.spec.ts
@@ -16,7 +16,7 @@ const lookupUpdates = mocked(lookup).lookupUpdates;
 
 jest.mock('./lookup');
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('fetchUpdates()', () => {
     let config: RenovateConfig;
     beforeEach(() => {
diff --git a/lib/workers/repository/process/index.spec.ts b/lib/workers/repository/process/index.spec.ts
index e4fc2f7db3c7ff04aa252748d53f5c1be31e3596..1f37b330ca1b6123464455acc59df1d56d1ab7ae 100644
--- a/lib/workers/repository/process/index.spec.ts
+++ b/lib/workers/repository/process/index.spec.ts
@@ -19,7 +19,7 @@ beforeEach(() => {
   config = getConfig();
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('processRepo()', () => {
     it('processes single branches', async () => {
       const res = await extractDependencies(config);
diff --git a/lib/workers/repository/process/limits.spec.ts b/lib/workers/repository/process/limits.spec.ts
index 0d9b3ecc3cec85e54cc07e4899f504a4d96c7554..01f49ce673f9bec2592fe41b05c8cc8883bf4d7f 100644
--- a/lib/workers/repository/process/limits.spec.ts
+++ b/lib/workers/repository/process/limits.spec.ts
@@ -18,7 +18,7 @@ beforeEach(() => {
   config = getConfig();
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getPrHourlyRemaining()', () => {
     it('calculates hourly limit remaining', async () => {
       const time = DateTime.local();
diff --git a/lib/workers/repository/process/lookup/index.spec.ts b/lib/workers/repository/process/lookup/index.spec.ts
index d457c3a565ee536034d9daa2e457bf973bd85878..4dbcba81da6f0f0d27692c4b42dc128d8d4f2706 100644
--- a/lib/workers/repository/process/lookup/index.spec.ts
+++ b/lib/workers/repository/process/lookup/index.spec.ts
@@ -30,23 +30,15 @@ jest.mock('../../../../datasource/github-releases');
 
 const fixtureRoot = '../../../../config/npm';
 const qJson = {
-  ...loadJsonFixture(__filename, '01.json', fixtureRoot),
+  ...loadJsonFixture('01.json', fixtureRoot),
   latestVersion: '1.4.1',
 };
-const helmetJson = loadJsonFixture(__filename, '02.json', fixtureRoot);
-const coffeelintJson = loadJsonFixture(
-  __filename,
-  'coffeelint.json',
-  fixtureRoot
-);
-const nextJson = loadJsonFixture(__filename, 'next.json', fixtureRoot);
-const typescriptJson = loadJsonFixture(
-  __filename,
-  'typescript.json',
-  fixtureRoot
-);
-const vueJson = loadJsonFixture(__filename, 'vue.json', fixtureRoot);
-const webpackJson = loadJsonFixture(__filename, 'webpack.json', fixtureRoot);
+const helmetJson = loadJsonFixture('02.json', fixtureRoot);
+const coffeelintJson = loadJsonFixture('coffeelint.json', fixtureRoot);
+const nextJson = loadJsonFixture('next.json', fixtureRoot);
+const typescriptJson = loadJsonFixture('typescript.json', fixtureRoot);
+const vueJson = loadJsonFixture('vue.json', fixtureRoot);
+const webpackJson = loadJsonFixture('webpack.json', fixtureRoot);
 
 const docker = mocked(datasourceDocker) as any;
 docker.defaultRegistryUrls = ['https://index.docker.io'];
@@ -57,7 +49,7 @@ Object.assign(githubReleases, { defaultRegistryUrls: ['https://github.com'] });
 
 let config: LookupUpdateConfig;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   beforeEach(() => {
     // TODO: fix types
     config = partial<LookupUpdateConfig>(getConfig());
diff --git a/lib/workers/repository/process/sort.spec.ts b/lib/workers/repository/process/sort.spec.ts
index 9f2fd3c306ad8d8737bf1aecee988c16f515da2e..cbb0b5dd7eb69470c52d78383101275f93e46def 100644
--- a/lib/workers/repository/process/sort.spec.ts
+++ b/lib/workers/repository/process/sort.spec.ts
@@ -2,7 +2,7 @@ import { getName } from '../../../../test/util';
 import type { UpdateType } from '../../../config/types';
 import { sortBranches } from './sort';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('sortBranches()', () => {
     it('sorts based on updateType and prTitle', () => {
       const branches = [
diff --git a/lib/workers/repository/process/write.spec.ts b/lib/workers/repository/process/write.spec.ts
index a8c5fcd96df7a3f5c289c5b6a30e86d2c056538e..a0f3f064162bf6a04869bbdfd33d8ec0692907f9 100644
--- a/lib/workers/repository/process/write.spec.ts
+++ b/lib/workers/repository/process/write.spec.ts
@@ -27,7 +27,7 @@ beforeEach(() => {
   config = getConfig();
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('writeUpdates()', () => {
     it('stops after automerge', async () => {
       const branches: BranchConfig[] = [
diff --git a/lib/workers/repository/result.spec.ts b/lib/workers/repository/result.spec.ts
index e005284bad7152a276ac6883cee57173c334e844..781bcc717ffaf30bd8737a9f46c7152487af3ac1 100644
--- a/lib/workers/repository/result.spec.ts
+++ b/lib/workers/repository/result.spec.ts
@@ -7,7 +7,7 @@ beforeEach(() => {
   config = getConfig();
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('processResult()', () => {
     it('runs', () => {
       const result = processResult(config, 'done');
diff --git a/lib/workers/repository/stats.spec.ts b/lib/workers/repository/stats.spec.ts
index d4afe0aed98b1d20e517388e13b742a7dccd42e0..4408d53dae0e4276f0b79e6b5cea91b0c1b10a66 100644
--- a/lib/workers/repository/stats.spec.ts
+++ b/lib/workers/repository/stats.spec.ts
@@ -6,7 +6,7 @@ jest.mock('../../util/cache/memory');
 
 const memCache: any = memCache_ as any;
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('printRequestStats()', () => {
     it('runs', () => {
       memCache.get = jest.fn(() => [
diff --git a/lib/workers/repository/updates/branch-name.spec.ts b/lib/workers/repository/updates/branch-name.spec.ts
index 4a495f747bfb5fe6dc0473f9a0f63f77ab1bc61f..4b97be036b5b19026ce6593ce381380faed46b63 100644
--- a/lib/workers/repository/updates/branch-name.spec.ts
+++ b/lib/workers/repository/updates/branch-name.spec.ts
@@ -2,7 +2,7 @@ import { getName } from '../../../../test/util';
 import type { RenovateConfig } from '../../../config/types';
 import { generateBranchName } from './branch-name';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('getBranchName()', () => {
     it('uses groupName if no slug defined', () => {
       const upgrade: RenovateConfig = {
diff --git a/lib/workers/repository/updates/branchify.spec.ts b/lib/workers/repository/updates/branchify.spec.ts
index d549938a9cbe2d85eaf035cea940e88acd485f8d..8a5fd948866f90a708c417a72d2ce088d0e92d86 100644
--- a/lib/workers/repository/updates/branchify.spec.ts
+++ b/lib/workers/repository/updates/branchify.spec.ts
@@ -18,7 +18,7 @@ beforeEach(() => {
   config.warnings = [];
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('branchifyUpgrades()', () => {
     it('returns empty', async () => {
       flattenUpdates.mockResolvedValueOnce([]);
diff --git a/lib/workers/repository/updates/flatten.spec.ts b/lib/workers/repository/updates/flatten.spec.ts
index 4fb7190b04d926e3230921e5139de9c42bc34787..27ec2dbdd9863bb15a76a127a87e13c09364eb26 100644
--- a/lib/workers/repository/updates/flatten.spec.ts
+++ b/lib/workers/repository/updates/flatten.spec.ts
@@ -11,7 +11,7 @@ beforeEach(() => {
   config.warnings = [];
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('flattenUpdates()', () => {
     it('flattens', async () => {
       config.lockFileMaintenance.enabled = true;
diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts
index 01aa40b2ef5103dc4779369675e2cf643c3b1660..50c947bd37d91d258f3875a39f4902869e144d4f 100644
--- a/lib/workers/repository/updates/generate.spec.ts
+++ b/lib/workers/repository/updates/generate.spec.ts
@@ -8,7 +8,7 @@ beforeEach(() => {
   jest.resetAllMocks();
 });
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('generateBranchConfig()', () => {
     it('does not group single upgrade', () => {
       const branch = [
diff --git a/lib/workers/repository/util/commit-message.spec.ts b/lib/workers/repository/util/commit-message.spec.ts
index 5219209c13424d8aa08a670a81147d35ce4cb75c..6a263b014bb07f310455f0344bb8e35ca77767a4 100644
--- a/lib/workers/repository/util/commit-message.spec.ts
+++ b/lib/workers/repository/util/commit-message.spec.ts
@@ -4,7 +4,7 @@ import {
   formatCommitMessagePrefix,
 } from './commit-message';
 
-describe(getName(__filename), () => {
+describe(getName(), () => {
   describe('COMMIT_MESSAGE_PREFIX_END_CHARACTER', () => {
     it('is a colon character', () => {
       expect(COMMIT_MESSAGE_PREFIX_SEPARATOR).toBe(':');
diff --git a/test/util.ts b/test/util.ts
index e45057b9d2909903d18dc39b5eef4f9178fab4e2..50119e4e66cff998fb775c0a112b4ea1c3a6e868 100644
--- a/test/util.ts
+++ b/test/util.ts
@@ -41,17 +41,48 @@ export const defaultConfig = getConfig();
 
 export { getConfig };
 
-export function getName(file: string): string {
+function getCallerFileName(): string | null {
+  let result = null;
+
+  const prepareStackTrace = Error.prepareStackTrace;
+  const stackTraceLimit = Error.stackTraceLimit;
+
+  Error.prepareStackTrace = (_err, stack) => stack;
+  Error.stackTraceLimit = 5; // max calls inside this file + 1
+
+  try {
+    const err = new Error();
+
+    const stack = (err.stack as unknown) as NodeJS.CallSite[];
+
+    let currentFile = null;
+    for (const frame of stack) {
+      const fileName = frame.getFileName();
+      if (!currentFile) {
+        currentFile = fileName;
+      } else if (currentFile !== fileName) {
+        result = fileName;
+        break;
+      }
+    }
+  } catch (e) {
+    // no-op
+  }
+
+  Error.prepareStackTrace = prepareStackTrace;
+  Error.stackTraceLimit = stackTraceLimit;
+
+  return result;
+}
+
+export function getName(): string {
+  const file = getCallerFileName();
   const [, name] = /lib\/(.*?)\.spec\.ts$/.exec(file.replace(/\\/g, '/'));
   return name;
 }
 
-export function loadFixture(
-  currentFile: string,
-  fixtureFile: string,
-  fixtureRoot = '.'
-): string {
-  const callerDir = upath.dirname(currentFile);
+export function loadFixture(fixtureFile: string, fixtureRoot = '.'): string {
+  const callerDir = upath.dirname(getCallerFileName());
   const fixtureAbsFile = upath.join(
     callerDir,
     fixtureRoot,
@@ -62,11 +93,10 @@ export function loadFixture(
 }
 
 export function loadJsonFixture<T = any>(
-  currentFile: string,
   fixtureFile: string,
   fixtureRoot = '.'
 ): T {
-  const rawFixture = loadFixture(currentFile, fixtureFile, fixtureRoot);
+  const rawFixture = loadFixture(fixtureFile, fixtureRoot);
   return JSON.parse(rawFixture) as T;
 }