mirror of
				https://github.com/rust-lang/rust-analyzer.git
				synced 2025-11-03 21:25:25 +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);
 | 
						|
});
 |