Empty coverage for code making HTTP requests
Hello. Whenever I make an HTTP request, coverage breaks for its module and all modules that depend on it. Gjs 1.52 reports coverage ok for async/await in general, but with Libsoup can't get it working. Tested on Ubuntu 17.10 and 18.04.
mkdir -p ~/http-coverage/src
cd ~/http-coverage
cat >> src/main.js <<EOF
const { Message, SessionAsync } = imports.gi.Soup;
async function main() {
const msg = Message.new("GET", "https://httpbin.org/get");
const session = new SessionAsync();
const { status_code } = await new Promise(resolve => {
session.queue_message(msg, (_, response) => {
resolve(response);
});
});
print(status_code);
}
EOF
cat >> src/test.js <<EOF
imports.searchPath.push(imports.gi.GLib.get_current_dir());
imports.src.main.main()
.then(() => imports.mainloop.quit())
.catch(print);
imports.mainloop.run();
EOF
rm -rf coverage/ && gjs --coverage-prefix="$(pwd)/src" --coverage-output="$(pwd)/coverage" src/test.js
# -> 200
# -> Gjs-Message: ...: Wrote coverage statistics to /.../coverage/coverage.lcov
cat coverage/coverage.lcov
# ->
# (empty file)