1
0
mirror of https://github.com/mgechev/revive.git synced 2025-11-25 22:12:38 +02:00

fix: cli tests on Windows; add tests-on-windows workflow

This commit is contained in:
Oleksandr Redko
2024-11-14 19:53:00 +02:00
committed by chavacava
parent 74e2417f7d
commit ce6965265a
2 changed files with 28 additions and 14 deletions

View File

@@ -5,8 +5,8 @@ on:
types: [opened, edited, synchronize, reopened] types: [opened, edited, synchronize, reopened]
jobs: jobs:
test: tests-on-unix:
name: Test name: Tests on Unix
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
@@ -23,3 +23,16 @@ jobs:
go-version: ${{ matrix.go-version }} go-version: ${{ matrix.go-version }}
- name: Run tests - name: Run tests
run: go test -race -shuffle=on ./... run: go test -race -shuffle=on ./...
tests-on-windows:
name: Tests on Windows
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: stable
- name: Run tests
run: go test -race -shuffle=on ./...

View File

@@ -2,6 +2,7 @@ package cli
import ( import (
"os" "os"
"path/filepath"
"testing" "testing"
"github.com/mitchellh/go-homedir" "github.com/mitchellh/go-homedir"
@@ -22,19 +23,19 @@ func TestXDGConfigDirIsPreferredFirst(t *testing.T) {
AppFs = afero.NewMemMapFs() AppFs = afero.NewMemMapFs()
}) })
xdgDirPath := "/tmp-iofs/xdg/config" xdgDirPath := filepath.FromSlash("/tmp-iofs/xdg/config")
homeDirPath := "/tmp-iofs/home/tester" homeDirPath := filepath.FromSlash("/tmp-iofs/home/tester")
AppFs.MkdirAll(xdgDirPath, 0755) AppFs.MkdirAll(xdgDirPath, 0755)
AppFs.MkdirAll(homeDirPath, 0755) AppFs.MkdirAll(homeDirPath, 0755)
afero.WriteFile(AppFs, xdgDirPath+"/revive.toml", []byte("\n"), 0644) afero.WriteFile(AppFs, filepath.Join(xdgDirPath, "revive.toml"), []byte("\n"), 0644)
t.Setenv("XDG_CONFIG_HOME", xdgDirPath) t.Setenv("XDG_CONFIG_HOME", xdgDirPath)
afero.WriteFile(AppFs, homeDirPath+"/revive.toml", []byte("\n"), 0644) afero.WriteFile(AppFs, filepath.Join(homeDirPath, "revive.toml"), []byte("\n"), 0644)
t.Setenv("HOME", homeDirPath) t.Setenv("HOME", homeDirPath)
got := buildDefaultConfigPath() got := buildDefaultConfigPath()
want := xdgDirPath + "/revive.toml" want := filepath.Join(xdgDirPath, "revive.toml")
if got != want { if got != want {
t.Errorf("got %q, wanted %q", got, want) t.Errorf("got %q, wanted %q", got, want)
@@ -43,14 +44,14 @@ func TestXDGConfigDirIsPreferredFirst(t *testing.T) {
func TestHomeConfigDir(t *testing.T) { func TestHomeConfigDir(t *testing.T) {
t.Cleanup(func() { AppFs = afero.NewMemMapFs() }) t.Cleanup(func() { AppFs = afero.NewMemMapFs() })
homeDirPath := "/tmp-iofs/home/tester" homeDirPath := filepath.FromSlash("/tmp-iofs/home/tester")
AppFs.MkdirAll(homeDirPath, 0755) AppFs.MkdirAll(homeDirPath, 0755)
afero.WriteFile(AppFs, homeDirPath+"/revive.toml", []byte("\n"), 0644) afero.WriteFile(AppFs, filepath.Join(homeDirPath, "revive.toml"), []byte("\n"), 0644)
t.Setenv("HOME", homeDirPath) t.Setenv("HOME", homeDirPath)
got := buildDefaultConfigPath() got := buildDefaultConfigPath()
want := homeDirPath + "/revive.toml" want := filepath.Join(homeDirPath, "revive.toml")
if got != want { if got != want {
t.Errorf("got %q, wanted %q", got, want) t.Errorf("got %q, wanted %q", got, want)
@@ -59,14 +60,14 @@ func TestHomeConfigDir(t *testing.T) {
func TestXDGConfigDir(t *testing.T) { func TestXDGConfigDir(t *testing.T) {
t.Cleanup(func() { AppFs = afero.NewMemMapFs() }) t.Cleanup(func() { AppFs = afero.NewMemMapFs() })
xdgDirPath := "/tmp-iofs/xdg/config" xdgDirPath := filepath.FromSlash("/tmp-iofs/xdg/config")
AppFs.MkdirAll(xdgDirPath, 0755) AppFs.MkdirAll(xdgDirPath, 0755)
afero.WriteFile(AppFs, xdgDirPath+"/revive.toml", []byte("\n"), 0644) afero.WriteFile(AppFs, filepath.Join(xdgDirPath, "revive.toml"), []byte("\n"), 0644)
t.Setenv("XDG_CONFIG_HOME", xdgDirPath) t.Setenv("XDG_CONFIG_HOME", xdgDirPath)
got := buildDefaultConfigPath() got := buildDefaultConfigPath()
want := xdgDirPath + "/revive.toml" want := filepath.Join(xdgDirPath, "revive.toml")
if got != want { if got != want {
t.Errorf("got %q, wanted %q", got, want) t.Errorf("got %q, wanted %q", got, want)
@@ -75,7 +76,7 @@ func TestXDGConfigDir(t *testing.T) {
func TestXDGConfigDirNoFile(t *testing.T) { func TestXDGConfigDirNoFile(t *testing.T) {
t.Cleanup(func() { AppFs = afero.NewMemMapFs() }) t.Cleanup(func() { AppFs = afero.NewMemMapFs() })
xdgDirPath := "/tmp-iofs/xdg/config" xdgDirPath := filepath.FromSlash("/tmp-iofs/xdg/config")
t.Setenv("XDG_CONFIG_HOME", xdgDirPath) t.Setenv("XDG_CONFIG_HOME", xdgDirPath)
got := buildDefaultConfigPath() got := buildDefaultConfigPath()