mirror of
https://github.com/ddworken/hishtory.git
synced 2024-11-22 00:03:58 +01:00
Improve flag support in install.py after #254
This commit is contained in:
parent
e55694d7e0
commit
46e093f61f
@ -160,8 +160,6 @@ hishtory config-set filter-duplicate-commands true
|
|||||||
If you don't need the ability to sync your shell history, you can install hiSHtory in offline mode:
|
If you don't need the ability to sync your shell history, you can install hiSHtory in offline mode:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
curl https://hishtory.dev/install.py | HISHTORY_OFFLINE=true python3 -
|
|
||||||
# or
|
|
||||||
curl https://hishtory.dev/install.py | python3 - --offline
|
curl https://hishtory.dev/install.py | python3 - --offline
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -53,8 +53,9 @@ os.system('chmod +x ' + tmpFilePath)
|
|||||||
cmd = tmpFilePath + ' install'
|
cmd = tmpFilePath + ' install'
|
||||||
if os.environ.get('HISHTORY_OFFLINE'):
|
if os.environ.get('HISHTORY_OFFLINE'):
|
||||||
cmd += " --offline"
|
cmd += " --offline"
|
||||||
if len(sys.argv) > 1:
|
additional_flags = [flag for flag in sys.argv[1:] if flag.startswith("-") and flag != "-"]
|
||||||
cmd += " " + " ".join(sys.argv[1:])
|
if additional_flags:
|
||||||
|
cmd += " " + " ".join(additional_flags)
|
||||||
exitCode = os.system(cmd)
|
exitCode = os.system(cmd)
|
||||||
os.remove(tmpFilePath)
|
os.remove(tmpFilePath)
|
||||||
if exitCode != 0:
|
if exitCode != 0:
|
||||||
|
@ -1063,18 +1063,16 @@ func TestInstallViaPythonScriptWithCustomHishtoryPath(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NoError(t, os.RemoveAll(path.Join(homedir, altHishtoryPath)))
|
require.NoError(t, os.RemoveAll(path.Join(homedir, altHishtoryPath)))
|
||||||
|
|
||||||
testInstallViaPythonScriptChild(t, zshTester{})
|
testInstallViaPythonScriptChild(t, zshTester{}, Online)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInstallViaPythonScriptInOfflineMode(t *testing.T) {
|
func TestInstallViaPythonScriptInOfflineMode(t *testing.T) {
|
||||||
markTestForSharding(t, 1)
|
markTestForSharding(t, 1)
|
||||||
defer testutils.BackupAndRestore(t)()
|
defer testutils.BackupAndRestore(t)()
|
||||||
defer testutils.BackupAndRestoreEnv("HISHTORY_OFFLINE")()
|
|
||||||
os.Setenv("HISHTORY_OFFLINE", "1")
|
|
||||||
tester := zshTester{}
|
tester := zshTester{}
|
||||||
|
|
||||||
// Check that installing works
|
// Check that installing works
|
||||||
testInstallViaPythonScriptChild(t, tester)
|
testInstallViaPythonScriptChild(t, tester, Offline)
|
||||||
|
|
||||||
// And check that it installed in offline mode
|
// And check that it installed in offline mode
|
||||||
out := tester.RunInteractiveShell(t, `hishtory status -v`)
|
out := tester.RunInteractiveShell(t, `hishtory status -v`)
|
||||||
@ -1083,14 +1081,14 @@ func TestInstallViaPythonScriptInOfflineMode(t *testing.T) {
|
|||||||
|
|
||||||
func testInstallViaPythonScript(t *testing.T, tester shellTester) {
|
func testInstallViaPythonScript(t *testing.T, tester shellTester) {
|
||||||
defer testutils.BackupAndRestore(t)()
|
defer testutils.BackupAndRestore(t)()
|
||||||
testInstallViaPythonScriptChild(t, tester)
|
testInstallViaPythonScriptChild(t, tester, Online)
|
||||||
|
|
||||||
// And check that it installed in online mode
|
// And check that it installed in online mode
|
||||||
out := tester.RunInteractiveShell(t, `hishtory status -v`)
|
out := tester.RunInteractiveShell(t, `hishtory status -v`)
|
||||||
require.Contains(t, out, "\nSync Mode: Enabled\n")
|
require.Contains(t, out, "\nSync Mode: Enabled\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
func testInstallViaPythonScriptChild(t *testing.T, tester shellTester) {
|
func testInstallViaPythonScriptChild(t *testing.T, tester shellTester, onlineStatus OnlineStatus) {
|
||||||
if !testutils.IsOnline() {
|
if !testutils.IsOnline() {
|
||||||
t.Skip("skipping because we're currently offline")
|
t.Skip("skipping because we're currently offline")
|
||||||
}
|
}
|
||||||
@ -1099,7 +1097,11 @@ func testInstallViaPythonScriptChild(t *testing.T, tester shellTester) {
|
|||||||
defer testutils.BackupAndRestoreEnv("HISHTORY_TEST")()
|
defer testutils.BackupAndRestoreEnv("HISHTORY_TEST")()
|
||||||
|
|
||||||
// Install via the python script
|
// Install via the python script
|
||||||
out := tester.RunInteractiveShell(t, `curl https://hishtory.dev/install.py | python3 -`)
|
additionalFlags := " "
|
||||||
|
if onlineStatus == Offline {
|
||||||
|
additionalFlags = "--offline"
|
||||||
|
}
|
||||||
|
out := tester.RunInteractiveShell(t, `curl https://hishtory.dev/install.py | python3 -`+additionalFlags)
|
||||||
require.Contains(t, out, "Succesfully installed hishtory")
|
require.Contains(t, out, "Succesfully installed hishtory")
|
||||||
r := regexp.MustCompile(`Setting secret hishtory key to (.*)`)
|
r := regexp.MustCompile(`Setting secret hishtory key to (.*)`)
|
||||||
matches := r.FindStringSubmatch(out)
|
matches := r.FindStringSubmatch(out)
|
||||||
|
Loading…
Reference in New Issue
Block a user