testdriverai 7.2.14 → 7.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -29,40 +29,14 @@ jobs:
|
|
|
29
29
|
- name: Install Sentry CLI
|
|
30
30
|
run: npm install -g @sentry/cli
|
|
31
31
|
|
|
32
|
-
- name: Sentry Cron
|
|
33
|
-
env:
|
|
34
|
-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
35
|
-
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
|
36
|
-
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
|
32
|
+
- name: Run Linux tests with Sentry Cron monitoring
|
|
37
33
|
run: |
|
|
38
|
-
|
|
39
|
-
echo "CHECK_IN_ID=$CHECK_IN_ID" >> $GITHUB_ENV
|
|
40
|
-
|
|
41
|
-
- name: Run Linux tests
|
|
42
|
-
id: tests
|
|
43
|
-
run: npx vitest run test/testdriver/*.test.mjs
|
|
34
|
+
sentry-cli monitors run testdriver-linux-acceptance -- npx vitest run test/testdriver/*.test.mjs
|
|
44
35
|
env:
|
|
36
|
+
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
|
|
45
37
|
TD_API_KEY: ${{ secrets.TD_API_KEY }}
|
|
46
38
|
TD_OS: linux
|
|
47
39
|
|
|
48
|
-
- name: Sentry Cron Check-in (Success)
|
|
49
|
-
if: success()
|
|
50
|
-
env:
|
|
51
|
-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
52
|
-
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
|
53
|
-
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
|
54
|
-
run: |
|
|
55
|
-
sentry-cli monitors checkin testdriver-linux-acceptance --check-in-id ${{ env.CHECK_IN_ID }} --status ok
|
|
56
|
-
|
|
57
|
-
- name: Sentry Cron Check-in (Failure)
|
|
58
|
-
if: failure()
|
|
59
|
-
env:
|
|
60
|
-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
61
|
-
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
|
62
|
-
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
|
63
|
-
run: |
|
|
64
|
-
sentry-cli monitors checkin testdriver-linux-acceptance --check-in-id ${{ env.CHECK_IN_ID }} --status error
|
|
65
|
-
|
|
66
40
|
- name: Upload test results to Sentry Prevent
|
|
67
41
|
if: ${{ !cancelled() }}
|
|
68
42
|
uses: getsentry/prevent-action@v0
|
|
@@ -29,40 +29,14 @@ jobs:
|
|
|
29
29
|
- name: Install Sentry CLI
|
|
30
30
|
run: npm install -g @sentry/cli
|
|
31
31
|
|
|
32
|
-
- name: Sentry Cron
|
|
33
|
-
env:
|
|
34
|
-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
35
|
-
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
|
36
|
-
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
|
32
|
+
- name: Run Windows tests with Sentry Cron monitoring
|
|
37
33
|
run: |
|
|
38
|
-
|
|
39
|
-
echo "CHECK_IN_ID=$CHECK_IN_ID" >> $GITHUB_ENV
|
|
40
|
-
|
|
41
|
-
- name: Run Windows tests
|
|
42
|
-
id: tests
|
|
43
|
-
run: npx vitest run test/testdriver/*.test.mjs
|
|
34
|
+
sentry-cli monitors run testdriver-windows-acceptance -- npx vitest run test/testdriver/*.test.mjs
|
|
44
35
|
env:
|
|
36
|
+
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
|
|
45
37
|
TD_API_KEY: ${{ secrets.TD_API_KEY }}
|
|
46
38
|
TD_OS: windows
|
|
47
39
|
|
|
48
|
-
- name: Sentry Cron Check-in (Success)
|
|
49
|
-
if: success()
|
|
50
|
-
env:
|
|
51
|
-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
52
|
-
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
|
53
|
-
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
|
54
|
-
run: |
|
|
55
|
-
sentry-cli monitors checkin testdriver-windows-acceptance --check-in-id ${{ env.CHECK_IN_ID }} --status ok
|
|
56
|
-
|
|
57
|
-
- name: Sentry Cron Check-in (Failure)
|
|
58
|
-
if: failure()
|
|
59
|
-
env:
|
|
60
|
-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
61
|
-
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
|
62
|
-
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
|
63
|
-
run: |
|
|
64
|
-
sentry-cli monitors checkin testdriver-windows-acceptance --check-in-id ${{ env.CHECK_IN_ID }} --status error
|
|
65
|
-
|
|
66
40
|
- name: Upload test results to Sentry Prevent
|
|
67
41
|
if: ${{ !cancelled() }}
|
|
68
42
|
uses: getsentry/prevent-action@v0
|
|
@@ -7,6 +7,41 @@ import { setTestRunInfo } from "./shared-test-state.mjs";
|
|
|
7
7
|
// Use createRequire to import CommonJS modules without esbuild processing
|
|
8
8
|
const require = createRequire(import.meta.url);
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Minimum required Vitest major version
|
|
12
|
+
*/
|
|
13
|
+
const MINIMUM_VITEST_VERSION = 4;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Check that Vitest version meets minimum requirements
|
|
17
|
+
* @throws {Error} if Vitest version is below minimum or not installed
|
|
18
|
+
*/
|
|
19
|
+
function checkVitestVersion() {
|
|
20
|
+
try {
|
|
21
|
+
const vitestPkg = require('vitest/package.json');
|
|
22
|
+
const version = vitestPkg.version;
|
|
23
|
+
const major = parseInt(version.split('.')[0], 10);
|
|
24
|
+
|
|
25
|
+
if (major < MINIMUM_VITEST_VERSION) {
|
|
26
|
+
throw new Error(
|
|
27
|
+
`TestDriver requires Vitest >= ${MINIMUM_VITEST_VERSION}.0.0, but found ${version}. ` +
|
|
28
|
+
`Please upgrade Vitest: npm install vitest@latest`
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
} catch (err) {
|
|
32
|
+
if (err.code === 'MODULE_NOT_FOUND') {
|
|
33
|
+
throw new Error(
|
|
34
|
+
'TestDriver requires Vitest to be installed. ' +
|
|
35
|
+
'Please install it: npm install vitest@latest'
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
throw err;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Check Vitest version at plugin load time
|
|
43
|
+
checkVitestVersion();
|
|
44
|
+
|
|
10
45
|
/**
|
|
11
46
|
* Simple logger for the vitest plugin
|
|
12
47
|
* Supports log levels: debug, info, warn, error
|
package/lib/vitest/hooks.mjs
CHANGED
|
@@ -16,10 +16,49 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import chalk from 'chalk';
|
|
19
|
+
import { createRequire } from 'module';
|
|
19
20
|
import path from 'path';
|
|
20
21
|
import { vi } from 'vitest';
|
|
21
22
|
import TestDriverSDK from '../../sdk.js';
|
|
22
23
|
|
|
24
|
+
// Use createRequire to import CommonJS modules
|
|
25
|
+
const require = createRequire(import.meta.url);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Minimum required Vitest major version
|
|
29
|
+
*/
|
|
30
|
+
const MINIMUM_VITEST_VERSION = 4;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Check that Vitest version meets minimum requirements
|
|
34
|
+
* @throws {Error} if Vitest version is below minimum or not installed
|
|
35
|
+
*/
|
|
36
|
+
function checkVitestVersion() {
|
|
37
|
+
try {
|
|
38
|
+
const vitestPkg = require('vitest/package.json');
|
|
39
|
+
const version = vitestPkg.version;
|
|
40
|
+
const major = parseInt(version.split('.')[0], 10);
|
|
41
|
+
|
|
42
|
+
if (major < MINIMUM_VITEST_VERSION) {
|
|
43
|
+
throw new Error(
|
|
44
|
+
`TestDriver requires Vitest >= ${MINIMUM_VITEST_VERSION}.0.0, but found ${version}. ` +
|
|
45
|
+
`Please upgrade Vitest: npm install vitest@latest`
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
} catch (err) {
|
|
49
|
+
if (err.code === 'MODULE_NOT_FOUND') {
|
|
50
|
+
throw new Error(
|
|
51
|
+
'TestDriver requires Vitest to be installed. ' +
|
|
52
|
+
'Please install it: npm install vitest@latest'
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
throw err;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Check Vitest version at module load time
|
|
60
|
+
checkVitestVersion();
|
|
61
|
+
|
|
23
62
|
/**
|
|
24
63
|
* Set up console spies using Vitest's vi.spyOn to intercept console logs
|
|
25
64
|
* and forward them to the sandbox for Dashcam visibility.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "testdriverai",
|
|
3
|
-
"version": "7.2.
|
|
3
|
+
"version": "7.2.16",
|
|
4
4
|
"description": "Next generation autonomous AI agent for end-to-end testing of web & desktop",
|
|
5
5
|
"main": "sdk.js",
|
|
6
6
|
"exports": {
|
|
@@ -84,6 +84,14 @@
|
|
|
84
84
|
"glob": "^11.0.1",
|
|
85
85
|
"rimraf": "^5.0.10"
|
|
86
86
|
},
|
|
87
|
+
"peerDependencies": {
|
|
88
|
+
"vitest": ">=4.0.0"
|
|
89
|
+
},
|
|
90
|
+
"peerDependenciesMeta": {
|
|
91
|
+
"vitest": {
|
|
92
|
+
"optional": true
|
|
93
|
+
}
|
|
94
|
+
},
|
|
87
95
|
"devDependencies": {
|
|
88
96
|
"@eslint/js": "^9.10.0",
|
|
89
97
|
"@vitest/ui": "^4.0.15",
|