mirror of
				https://github.com/rust-lang/rust-analyzer.git
				synced 2025-10-30 19:49:36 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import * as path from "path";
 | |
| import * as fs from "fs";
 | |
| 
 | |
| import { runTests } from "@vscode/test-electron";
 | |
| 
 | |
| async function main() {
 | |
|     // The folder containing the Extension Manifest package.json
 | |
|     // Passed to `--extensionDevelopmentPath`
 | |
|     const extensionDevelopmentPath = path.resolve(__dirname, "../../");
 | |
| 
 | |
|     // Minimum supported version.
 | |
|     const jsonData = fs.readFileSync(path.join(extensionDevelopmentPath, "package.json"));
 | |
|     const json = JSON.parse(jsonData.toString());
 | |
|     let minimalVersion: string = json.engines.vscode;
 | |
|     if (minimalVersion.startsWith("^")) minimalVersion = minimalVersion.slice(1);
 | |
| 
 | |
|     const launchArgs = ["--disable-extensions", extensionDevelopmentPath];
 | |
| 
 | |
|     // All test suites (either unit tests or integration tests) should be in subfolders.
 | |
|     const extensionTestsPath = path.resolve(__dirname, "./unit/index");
 | |
| 
 | |
|     // Run tests using the minimal supported version.
 | |
|     await runTests({
 | |
|         version: minimalVersion,
 | |
|         launchArgs,
 | |
|         extensionDevelopmentPath,
 | |
|         extensionTestsPath,
 | |
|     });
 | |
| 
 | |
|     // and the latest one
 | |
|     await runTests({
 | |
|         version: "stable",
 | |
|         launchArgs,
 | |
|         extensionDevelopmentPath,
 | |
|         extensionTestsPath,
 | |
|     });
 | |
| }
 | |
| 
 | |
| main().catch((err) => {
 | |
|     // eslint-disable-next-line no-console
 | |
|     console.error("Failed to run tests", err);
 | |
|     process.exit(1);
 | |
| });
 | 
