Commit Graph

3309 Commits

Author SHA1 Message Date
Koen Vlaswinkel
465da69ecf Merge remote-tracking branch 'origin/main' into koesie10/source-map-script-stacktrace 2023-02-07 16:38:44 +00:00
Koen Vlaswinkel
648e6745a8 Merge pull request #2037 from github/koesie10/source-map-script
Add script for retrieving original source location
2023-02-07 17:37:19 +01:00
Koen Vlaswinkel
943229f065 Merge pull request #2033 from github/koesie10/mocked-config
Mock config instead of writing settings files
2023-02-07 15:50:32 +01:00
Koen Vlaswinkel
f7fb6a4920 Merge remote-tracking branch 'origin/main' into koesie10/mocked-config 2023-02-07 14:33:53 +00:00
Elena Tanasoiu
f7ab8b7ba0 Merge pull request #2042 from github/elena/add-more-test-coverage
Add test coverage for `openDatabase`
2023-02-07 14:03:09 +00:00
Elena Tanasoiu
b2fa85f5c5 Merge pull request #2036 from github/shati-elena/create-skeleton
Introduce command for creating skeleton QL packs
2023-02-07 12:49:13 +00:00
Elena Tanasoiu
72f3847a3e Add tests for openDatabase function 2023-02-07 11:45:01 +00:00
Elena Tanasoiu
f8d0f689a6 Move functions into class so they can be mocked
We'd like to add test coverage for the openDatabase function (which is
public).

At the moment, this relies on `resolveDatabaseContents` which is just
a standalone function.

This means we're unable to mock it using Jest.

So let's move it into its own class.

This method in turn depends on a `resolveDatabase` function, which we've
also moved into the new class.

The only usages I could find for there functions were from within
the `databases.ts` file.
2023-02-07 11:26:33 +00:00
Elena Tanasoiu
235fb83e8c Don't check for specific number of calls on callback
This is unrelated to the changes in this PR but it's causing CI to fail.

```
config listeners › CliConfigListener › should listen for changes to 'codeQL.runningTests.numberOfThreads'

    expect(jest.fn()).toHaveBeenCalledTimes(expected)

    Expected number of calls: 1
    Received number of calls: 2

      109 |           const newValue = listener[setting.property as keyof typeof listener];
      110 |           expect(newValue).toEqual(setting.values[1]);
    > 111 |           expect(onDidChangeConfiguration).toHaveBeenCalledTimes(1);
          |                                            ^
      112 |         });
      113 |       });
      114 |     });
```

We don't need to check that the callback is triggered a certain number of times, just that it works
so we can change this test to be more permissive.
2023-02-07 11:25:11 +00:00
Elena Tanasoiu
5c89952999 "select" -> "add" 2023-02-07 11:23:40 +00:00
Elena Tanasoiu
397aa2befe Mention language in pop-up message 2023-02-07 11:23:40 +00:00
Elena Tanasoiu
63add84bf3 Use triple equals 2023-02-07 11:23:40 +00:00
Elena Tanasoiu
037596cfb4 Create skeleton QL pack if in CodeTour
We'd like to make it easier for a user going through the CodeQL Tour to
write their queries.

To help them along, we can generate skeleton QL packs once we know which
database they're using, instead of expecting them to know how to create
this themselves.

We're then able to download the necessary dependencies for their CodeQL
queries.

This checks that we're running the CodeTour by looking for the
`codeQL.codespacesTemplate` setting.
2023-02-07 11:23:39 +00:00
Elena Tanasoiu
a85281e365 Be able to pass custom db options to mock
We will use this to set/unset the language on a database item.

This will then be used to determine whether we need to create a QL pack.
2023-02-07 11:23:39 +00:00
Elena Tanasoiu
99f3d28640 Introduce helper method to detect folder in workspace 2023-02-07 11:23:39 +00:00
Elena Tanasoiu
41256ec9fd Make it a little clearer which function the tests are checking 2023-02-07 11:23:39 +00:00
Koen Vlaswinkel
74581fb8e3 Merge pull request #2046 from github/koesie10/rename-last-commit-to-last-updated
Rename "Last commit" to "Last updated"
2023-02-07 12:15:04 +01:00
Koen Vlaswinkel
cff3d9508e Merge remote-tracking branch 'origin/main' into koesie10/rename-last-commit-to-last-updated 2023-02-07 11:00:31 +00:00
Robert
24e4708477 Merge pull request #2017 from github/robertbrignull/logged_error_telemetry
Introduce showAndLogExceptionWithTelemetry
2023-02-07 10:00:14 +00:00
Koen Vlaswinkel
4f0032d77b Merge pull request #2045 from github/koesie10/link-to-actions-workflow
Add link to Actions workflow when running MRVA
2023-02-07 10:48:22 +01:00
Robert
420fd8d48a Merge branch 'main' into robertbrignull/logged_error_telemetry 2023-02-07 09:42:54 +00:00
Charis Kyriakou
a901369c5e Enable eqeqeq ESLint rule and fix violations (#2043) 2023-02-07 09:36:18 +00:00
Elena Tanasoiu
b05697c327 Merge pull request #2044 from github/elena/remove-lint
Don't lint on `git push`
2023-02-07 09:23:11 +00:00
Koen Vlaswinkel
0cbc9916fc Rename "Last commit" to "Last updated"
Last commit is confusing because it's actually the `updated_at` of the
repository. By renaming it, this will be clearer to users.
2023-02-06 17:54:31 +00:00
Koen Vlaswinkel
f57b811585 Add link to Actions workflow when running MRVA 2023-02-06 17:46:35 +00:00
Elena Tanasoiu
0b9dcb44d9 Don't lint on git push
We run `npm run lint` every time we do a `git push`.

This takes quite a long time, and the lint command has already been run
when we created the commit in the first place.

Could we instead skip this and rely on CI to tell us if we've failed
to address a linting issue?
2023-02-06 17:36:24 +00:00
Koen Vlaswinkel
a5b95944fc Add radix to parseInt 2023-02-06 17:13:23 +00:00
Koen Vlaswinkel
6d1c66b121 Add example to source map script 2023-02-06 17:09:56 +00:00
Koen Vlaswinkel
740cbc8dee Make onDidChangeConfiguration less strict
It seems like the `onDidChangeConfiguration` is being called multiple
times. It doesn't actually matter that it's being called twice, so we
just need to ensure it's called at least once.
2023-02-06 17:02:18 +00:00
Koen Vlaswinkel
c9f0d1b525 Merge remote-tracking branch 'origin/main' into koesie10/mocked-config 2023-02-06 16:21:09 +00:00
shati-patel
66fd8ad6cc Rename const to refer to the codespaces template in general 2023-02-06 11:13:10 +00:00
shati-patel
d0d48dfd08 Add feature flag for codespaces-codeql template workspace
We'll use this flag for commands that are specific to the tutorial code tour and "quick setup" in https://github.com/github/codespaces-codeql
2023-02-06 11:13:10 +00:00
Andrew Eisenberg
0dd741fa9b Merge pull request #2035 from github/version/bump-to-v1.7.9
Bump version to v1.7.9
2023-02-03 08:43:32 -08:00
Elena Tanasoiu
9c2aa8c7fa Merge pull request #2032 from github/shati-elena/check-for-ql-pack
Small tidy-up: Rename test file for databaseFetcher tests
2023-02-03 16:40:51 +00:00
github-actions[bot]
09e7a84597 Bump version to v1.7.9 2023-02-03 16:26:19 +00:00
Elena Tanasoiu
6e53ed020c Rename tests for databaseFetcher
These are not testing anything in the databases.ts file as we're
invoking functions from the DatabaseFetcher.

Let's name the file accordingly
2023-02-03 16:20:07 +00:00
Elena Tanasoiu
0eff27731e Merge pull request #2041 from github/elena/skip-failing-tests
Skip failing tests
2023-02-03 16:17:50 +00:00
Elena Tanasoiu
f276a3414a Skip failing tests
This is blocking us from merging new PRs so while we figure out
how to fix them, let's skip the tests that are failing on our
`main` branch.

For full context: the tests started failing when a new version of
VSCode was released (1.75.0).
2023-02-03 15:54:36 +00:00
Koen Vlaswinkel
0ed03c14bf Add source map support for full stacktraces
This adds support for mapping full stacktraces in the source map
script. This allows you to pass a full stacktrace to the script and get
back a stacktrace with all original positions.
2023-02-03 15:21:57 +01:00
Koen Vlaswinkel
92e2975c24 Add script for retrieving original source location
This adds a script that can be used for retrieving the original source
location when given a location in the released extension. It will
download the source map from the Actions workflow run of the release and
use the `source-map` library to extract the original location.
2023-02-03 12:15:57 +01:00
Koen Vlaswinkel
bc181c6c9b Only set CLI path in workspace configuration 2023-02-03 11:36:40 +01:00
Koen Vlaswinkel
beb0058365 Mock env.openExternal instead of overriding it 2023-02-03 11:29:29 +01:00
Robert
7a9b8bbdde Merge pull request #2034 from github/v1.7.8
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
v1.7.8
v1.7.8
2023-02-02 16:59:00 +00:00
Robert
d2c795bec0 Update extensions/ql-vscode/CHANGELOG.md
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com>
2023-02-02 16:38:03 +00:00
Robert
d144874e77 v1.7.8 2023-02-02 16:30:46 +00:00
Koen Vlaswinkel
cac0add788 Mock config instead of writing settings files
In our tests, we were writing settings files to disk because we were
using the VSCode configuration API which writes settings to files. This
results in flaky tests because concurrency can cause the VSCode API to
misbehave.

This will switch the tests to use a mocked API by default. For some
tests the real implementation is used, but the large majority of tests
is now using a mocked version which only keeps track of the
configuration in memory. This makes it easier to reset the state between
tests since we can just empty out the in-memory configuration.
2023-02-02 16:51:02 +01:00
Elena Tanasoiu
c493425046 Merge pull request #2027 from github/elena/select-db-in-codespace
Introduce command to set default Code Tour database
2023-02-02 12:05:27 +00:00
Charis Kyriakou
302091f2c5 Added version to db config (#2029) 2023-02-02 11:50:16 +00:00
Robert
05d9f9b3a6 Add test that error messages are redacted 2023-02-02 11:11:52 +00:00
Robert
69b7e04ec0 Put error logging behind new secret flag 2023-02-02 11:11:49 +00:00