Skip to content

Commit 790a801

Browse files
committed
fixup! address review comments
1 parent 6bd795d commit 790a801

10 files changed

Lines changed: 27 additions & 49 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
- Install dependencies: `yarn install`
1212

13-
**Note:** This project uses yarn, not npm. Always use `yarn` commands instead of `npm` commands.
13+
**This project uses yarn, not npm. Always use `yarn` commands instead of `npm` commands.**
1414

1515
## Project Overview
1616

@@ -36,18 +36,13 @@ When developing a feature or fixing a bug:
3636

3737
### Running Individual Tests
3838

39-
**IMPORTANT**: Never run `yarn test` directly. Use `mocha` or `tap` directly on test files.
39+
**IMPORTANT**: Never run `yarn test` directly. Use `mocha` directly on test files.
4040

4141
**Mocha unit tests:**
4242
```bash
4343
./node_modules/.bin/mocha -r "packages/dd-trace/test/setup/mocha.js" path/to/test.spec.js
4444
```
4545

46-
**Tap unit tests:**
47-
```bash
48-
./node_modules/.bin/tap path/to/test.spec.js
49-
```
50-
5146
**Integration tests:**
5247
```bash
5348
./node_modules/.bin/mocha --timeout 60000 -r "packages/dd-trace/test/setup/core.js" path/to/test.spec.js
@@ -59,8 +54,6 @@ When developing a feature or fixing a bug:
5954
**Enable debug logging:**
6055
- Prefix with `DD_TRACE_DEBUG=true`
6156

62-
**Note**: New tests should be written using mocha, not tap. Existing tap tests use mocha-style `describe` and `it` blocks.
63-
6457
### Plugin Tests
6558

6659
**Use `PLUGINS` env var:**

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,14 +288,14 @@ Please refer to [the "Install" section](https://github.com/brianc/node-postgres/
288288

289289
When developing, it's often faster to run individual test files rather than entire test suites. **Never run `yarn test` directly** as it requires too much setup and takes too long.
290290

291-
To target specific tests, use the `--grep` flag with mocha or tap to match test names:
291+
To target specific tests, use the `--grep` flag with mocha to match test names:
292292

293293
```sh
294294
yarn test:debugger --grep "test name pattern"
295295
yarn test:appsec --grep "specific test"
296296
```
297297

298-
**Note:** This project uses a mix of tap and mocha for testing. However, new tests should be written using mocha, not tap.
298+
**This project uses mocha for testing.**
299299

300300
### Test Assertions
301301

benchmark/sirun/startup/startup-test.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ if (Number(process.env.EVERYTHING)) {
6868
'shell-quote',
6969
'sinon',
7070
'source-map',
71-
'tap',
7271
'tiktoken',
7372
'tlhunter-sorted-set',
7473
'ttl-set',

packages/dd-trace/test/azure_metadata.spec.js

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe('Azure metadata', () => {
2424
'WEBSITE_SKU'
2525
]
2626

27-
const initialAzureEnv = Object.fromEntries(AZURE_ENV_KEYS.map(k => [k, process.env[k]]))
27+
const initialAzureEnv = Object.fromEntries(AZURE_ENV_KEYS.map(key => [key, process.env[key]]))
2828

2929
afterEach(() => {
3030
for (const key of AZURE_ENV_KEYS) {
@@ -53,11 +53,6 @@ describe('Azure metadata', () => {
5353
})
5454

5555
it('provided completely with minimum vars', () => {
56-
delete process.env.WEBSITE_RESOURCE_GROUP
57-
delete process.env.WEBSITE_OS
58-
delete process.env.FUNCTIONS_EXTENSION_VERSION
59-
delete process.env.FUNCTIONS_WORKER_RUNTIME
60-
delete process.env.FUNCTIONS_WORKER_RUNTIME_VERSION
6156
process.env.COMPUTERNAME = 'boaty_mcboatface'
6257
process.env.WEBSITE_SITE_NAME = 'website_name'
6358
process.env.WEBSITE_OWNER_NAME = 'subscription_id+resource_group-regionwebspace'
@@ -110,11 +105,6 @@ describe('Azure metadata', () => {
110105
})
111106

112107
it('tags are correctly generated from vars', () => {
113-
delete process.env.WEBSITE_RESOURCE_GROUP
114-
delete process.env.WEBSITE_OS
115-
delete process.env.FUNCTIONS_EXTENSION_VERSION
116-
delete process.env.FUNCTIONS_WORKER_RUNTIME
117-
delete process.env.FUNCTIONS_WORKER_RUNTIME_VERSION
118108
process.env.COMPUTERNAME = 'boaty_mcboatface'
119109
process.env.WEBSITE_SITE_NAME = 'website_name'
120110
process.env.WEBSITE_OWNER_NAME = 'subscription_id+resource_group-regionwebspace'
@@ -137,9 +127,6 @@ describe('Azure metadata', () => {
137127
})
138128

139129
it('uses DD_AZURE_RESOURCE_GROUP for Flex Consumption Azure Functions', () => {
140-
delete process.env.WEBSITE_RESOURCE_GROUP
141-
delete process.env.WEBSITE_OS
142-
delete process.env.DD_AAS_DOTNET_EXTENSION_VERSION
143130
process.env.COMPUTERNAME = 'flex_function'
144131
process.env.WEBSITE_SITE_NAME = 'flex_function_app'
145132
process.env.WEBSITE_OWNER_NAME = 'subscription_id+flex-regionwebspace'

packages/dd-trace/test/custom-metrics.spec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ const path = require('node:path')
66
const os = require('node:os')
77
const { exec } = require('node:child_process')
88

9-
/* eslint-disable no-console */
109
const { describe, it, beforeEach, afterEach } = require('mocha')
1110

1211
require('./setup/core')
@@ -52,7 +51,9 @@ describe('Custom Metrics', () => {
5251
}
5352
}, (err, stdout, stderr) => {
5453
if (err) return done(err)
54+
// eslint-disable-next-line no-console
5555
if (stdout) console.log(stdout)
56+
// eslint-disable-next-line no-console
5657
if (stderr) console.error(stderr)
5758

5859
assert.strictEqual(metricsData.split('#')[0], 'page.views.data:1|c|')

packages/dd-trace/test/encode/coverage-ci-visibility.spec.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
'use strict'
22

33
const assert = require('node:assert/strict')
4-
/**
5-
* @typedef {{
6-
* version: number,
7-
* coverages: { test_session_id: number, test_suite_id: number, files: { filename: string }[] }[] }
8-
* } CoverageObject
9-
*/
104

115
const { describe, it, beforeEach } = require('mocha')
126
const msgpack = require('@msgpack/msgpack')
@@ -17,6 +11,13 @@ const { assertObjectContains } = require('../../../../integration-tests/helpers'
1711
require('../setup/core')
1812
const id = require('../../src/id')
1913

14+
/**
15+
* @typedef {{
16+
* version: number,
17+
* coverages: { test_session_id: number, test_suite_id: number, files: { filename: string }[] }[] }
18+
* } CoverageObject
19+
*/
20+
2021
describe('coverage-ci-visibility', () => {
2122
let encoder
2223
let logger

packages/dd-trace/test/log.spec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
'use strict'
22

33
const assert = require('node:assert/strict')
4-
/* eslint-disable no-console */
54

65
const { describe, it, beforeEach, afterEach } = require('mocha')
76
const sinon = require('sinon')
@@ -10,6 +9,8 @@ const proxyquire = require('proxyquire')
109
require('./setup/core')
1110
const { storage } = require('../../datadog-core')
1211

12+
/* eslint-disable no-console */
13+
1314
describe('log', () => {
1415
describe('config', () => {
1516
let env

packages/dd-trace/test/plugins/util/inferred_proxy.spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
const assert = require('node:assert/strict')
44
const { Agent } = require('node:http')
5-
// Create axios instance with no connection pooling
65

76
const { describe, it, afterEach } = require('mocha')
87
const axios = require('axios')
@@ -11,6 +10,7 @@ require('../../setup/core')
1110
const agent = require('../agent')
1211
const { assertObjectContains } = require('../../../../../integration-tests/helpers')
1312

13+
// Create axios instance with no connection pooling
1414
const httpClient = axios.create({
1515
httpAgent: new Agent({ keepAlive: false }),
1616
timeout: 5000
@@ -22,7 +22,7 @@ describe('Inferred Proxy Spans', function () {
2222
let controller
2323
let port
2424

25-
// tap was throwing timeout errors when trying to use hooks like `before`, so instead we just use this function
25+
// Timeout errors occurred when trying to use hooks like `before`, so instead we just use this function
2626
// and call before the test starts
2727
const loadTest = async function ({ inferredProxyServicesEnabled = true } = {}) {
2828
const options = {
@@ -62,7 +62,7 @@ describe('Inferred Proxy Spans', function () {
6262
})
6363
})
6464

65-
return new Promise((resolve, reject) => {
65+
return new Promise(/** @type {() => void} */ (resolve, reject) => {
6666
appListener = server.listen(0, '127.0.0.1', () => {
6767
port = (/** @type {import('net').AddressInfo} */ (server.address())).port
6868
appListener._connections = connections
@@ -82,7 +82,7 @@ describe('Inferred Proxy Spans', function () {
8282
}
8383
}
8484

85-
await new Promise((resolve, reject) => {
85+
await new Promise(/** @type {() => void} */ (resolve, reject) => {
8686
appListener.close((err) => {
8787
if (err) {
8888
reject(err)

packages/dd-trace/test/runtime_metrics.spec.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,15 @@
22

33
const assert = require('node:assert')
44
const os = require('node:os')
5+
const { performance } = require('node:perf_hooks')
6+
const { setImmediate, setTimeout } = require('node:timers/promises')
7+
const util = require('node:util')
58

69
const { describe, it, beforeEach, afterEach } = require('mocha')
710
const proxyquire = require('proxyquire')
811
const sinon = require('sinon')
912

10-
const performance = require('node:perf_hooks').performance
11-
const { setImmediate, setTimeout } = require('node:timers/promises')
12-
const util = require('node:util')
13-
1413
require('./setup/core')
15-
1614
const { DogStatsDClient } = require('../src/dogstatsd')
1715

1816
function createGarbage (count = 50) {

packages/dd-trace/test/setup/mocha.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -148,12 +148,12 @@ function withPeerService (tracer, pluginName, spanGenerationFn, service, service
148148
it('should compute peer service', async () => {
149149
const useCallback = spanGenerationFn.length === 1
150150
const spanGenerationPromise = useCallback
151-
? new Promise((resolve, reject) => {
152-
const result = spanGenerationFn((err) => err ? reject(err) : resolve(undefined))
151+
? new Promise(/** @type {() => void} */ (resolve, reject) => {
152+
const result = spanGenerationFn((err) => err ? reject(err) : resolve())
153153
// Some callback based methods are a mixture of callback and promise,
154154
// depending on the module version. Await the promises as well.
155155
if (util.types.isPromise(result)) {
156-
result.then?.(() => resolve(undefined), reject)
156+
result.then?.(resolve, reject)
157157
}
158158
})
159159
: spanGenerationFn()
@@ -238,9 +238,7 @@ function withVersions (plugin, modules, range, cb) {
238238
for (const version of versions) {
239239
if (process.env.RANGE && !semver.subset(version, process.env.RANGE)) continue
240240
if (version !== '*') {
241-
const result = semver.coerce(version)
242-
if (!result) throw new Error(`Invalid version: ${version}`)
243-
const min = result.version
241+
const min = semver.coerce(version)?.version
244242
if (!min) throw new Error(`Invalid version: ${version}`)
245243
testVersions.set(min, { versionRange: version, versionKey: min, resolvedVersion: min })
246244
}

0 commit comments

Comments
 (0)