diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 008dfbe39377..7580c2fbace7 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -554,6 +554,7 @@ in { opentabletdriver = handleTest ./opentabletdriver.nix {}; owncast = handleTest ./owncast.nix {}; image-contents = handleTest ./image-contents.nix {}; + openvscode-server = handleTest ./openvscode-server.nix {}; orangefs = handleTest ./orangefs.nix {}; os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {}; osrm-backend = handleTest ./osrm-backend.nix {}; diff --git a/nixos/tests/openvscode-server.nix b/nixos/tests/openvscode-server.nix new file mode 100644 index 000000000000..cbff8e09c593 --- /dev/null +++ b/nixos/tests/openvscode-server.nix @@ -0,0 +1,22 @@ +import ./make-test-python.nix ({pkgs, lib, ...}: +{ + name = "openvscode-server"; + + nodes = { + machine = {pkgs, ...}: { + services.openvscode-server = { + enable = true; + withoutConnectionToken = true; + }; + }; + }; + + testScript = '' + start_all() + machine.wait_for_unit("openvscode-server.service") + machine.wait_for_open_port(3000) + machine.succeed("curl -k --fail http://localhost:3000", timeout=10) + ''; + + meta.maintainers = [ lib.maintainers.drupol ]; +}) diff --git a/pkgs/servers/openvscode-server/default.nix b/pkgs/servers/openvscode-server/default.nix index 531e08e7cd0a..f5c17fcaff64 100644 --- a/pkgs/servers/openvscode-server/default.nix +++ b/pkgs/servers/openvscode-server/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper , cacert, moreutils, jq, git, pkg-config, yarn, python3 , esbuild, nodejs_16, libsecret, xorg, ripgrep -, AppKit, Cocoa, Security, cctools }: +, AppKit, Cocoa, Security, cctools, nixosTests }: let system = stdenv.hostPlatform.system; @@ -164,6 +164,10 @@ in stdenv.mkDerivation rec { ln -s ${nodejs}/bin/node $out ''; + passthru.tests = { + inherit (nixosTests) openvscode-server; + }; + meta = with lib; { description = "Run VS Code on a remote machine"; longDescription = ''