@@ -2,15 +2,14 @@ import { expect } from 'chai';
22import * as fs from 'fs-extra' ;
33import 'mocha' ;
44import * as path from 'path' ;
5- import { open as bqrsOpen , ColumnValue } from 'semmle-bqrs' ;
6- import { FileReader } from 'semmle-io-node' ;
75import * as tmp from 'tmp' ;
86import * as url from 'url' ;
97import { CancellationTokenSource } from 'vscode-jsonrpc' ;
108import * as messages from '../../src/messages' ;
119import * as qsClient from '../../src/queryserver-client' ;
1210import * as cli from '../../src/cli' ;
1311import { ProgressReporter , Logger } from '../../src/logging' ;
12+ import { ColumnValue } from '../../src/bqrs-cli-types' ;
1413
1514
1615declare module 'url' {
@@ -204,24 +203,14 @@ describe('using the query server', function() {
204203
205204 const actualResultSets : ResultSets = { } ;
206205 it ( `should be able to parse results of query ${ queryName } ` , async function ( ) {
207- let fileReader : FileReader | undefined ;
208- try {
209- await evaluationSucceeded . done ( ) ;
210- fileReader = await FileReader . open ( RESULTS_PATH ) ;
211- const resultSetsReader = await bqrsOpen ( fileReader ) ;
212- for ( const reader of resultSetsReader . resultSets ) {
213- const actualRows : ColumnValue [ ] [ ] = [ ] ;
214- for await ( const row of reader . readTuples ( ) ) {
215- actualRows . push ( row ) ;
216- }
217- actualResultSets [ reader . schema . name ] = actualRows ;
218- }
219- parsedResults . resolve ( ) ;
220- } finally {
221- if ( fileReader ) {
222- fileReader . dispose ( ) ;
223- }
206+ await evaluationSucceeded . done ( ) ;
207+ const info = await cliServer . bqrsInfo ( RESULTS_PATH ) ;
208+
209+ for ( const resultSet of info [ "result-sets" ] ) {
210+ const decoded = await cliServer . bqrsDecode ( RESULTS_PATH , resultSet . name ) ;
211+ actualResultSets [ resultSet . name ] = decoded . tuples ;
224212 }
213+ parsedResults . resolve ( ) ;
225214 } ) ;
226215
227216 it ( `should have correct results for query ${ queryName } ` , async function ( ) {
0 commit comments