|
|
@ -50,7 +50,7 @@ func test_SingleNodeProvide(t *testing.T, vaccuum, compress bool) {
|
|
|
|
defer os.Remove(tmpFd.Name())
|
|
|
|
defer os.Remove(tmpFd.Name())
|
|
|
|
defer tmpFd.Close()
|
|
|
|
defer tmpFd.Close()
|
|
|
|
provider := NewProvider(s0, vaccuum, compress)
|
|
|
|
provider := NewProvider(s0, vaccuum, compress)
|
|
|
|
if _, err := provider.Provide(tmpFd); err != nil {
|
|
|
|
if err := provider.Provide(tmpFd); err != nil {
|
|
|
|
t.Fatalf("failed to provide SQLite data: %s", err.Error())
|
|
|
|
t.Fatalf("failed to provide SQLite data: %s", err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -113,7 +113,7 @@ func Test_SingleNodeProvide(t *testing.T) {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func Test_SingleNodeProvideLastModified(t *testing.T) {
|
|
|
|
func Test_SingleNodeProvideLastIndex(t *testing.T) {
|
|
|
|
s, ln := mustNewStore(t)
|
|
|
|
s, ln := mustNewStore(t)
|
|
|
|
defer ln.Close()
|
|
|
|
defer ln.Close()
|
|
|
|
|
|
|
|
|
|
|
@ -132,7 +132,7 @@ func Test_SingleNodeProvideLastModified(t *testing.T) {
|
|
|
|
defer os.Remove(tmpFile)
|
|
|
|
defer os.Remove(tmpFile)
|
|
|
|
provider := NewProvider(s, false, false)
|
|
|
|
provider := NewProvider(s, false, false)
|
|
|
|
|
|
|
|
|
|
|
|
lm, err := provider.LastModified()
|
|
|
|
lm, err := provider.LastIndex()
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -149,14 +149,14 @@ func Test_SingleNodeProvideLastModified(t *testing.T) {
|
|
|
|
t.Fatalf("failed to wait for FSM to apply")
|
|
|
|
t.Fatalf("failed to wait for FSM to apply")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
newLM, err := provider.LastModified()
|
|
|
|
newLI, err := provider.LastIndex()
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if !newLM.After(lm) {
|
|
|
|
if newLI <= lm {
|
|
|
|
t.Fatalf("last modified time should have changed")
|
|
|
|
t.Fatalf("last index should have changed")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
lm = newLM
|
|
|
|
lm = newLI
|
|
|
|
|
|
|
|
|
|
|
|
// Try various queries and commands which should not change the database.
|
|
|
|
// Try various queries and commands which should not change the database.
|
|
|
|
qr := queryRequestFromString("SELECT * FROM foo", false, false)
|
|
|
|
qr := queryRequestFromString("SELECT * FROM foo", false, false)
|
|
|
@ -168,26 +168,26 @@ func Test_SingleNodeProvideLastModified(t *testing.T) {
|
|
|
|
if _, err := s.WaitForAppliedFSM(2 * time.Second); err != nil {
|
|
|
|
if _, err := s.WaitForAppliedFSM(2 * time.Second); err != nil {
|
|
|
|
t.Fatalf("failed to wait for FSM to apply")
|
|
|
|
t.Fatalf("failed to wait for FSM to apply")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
newLM, err = provider.LastModified()
|
|
|
|
newLI, err = provider.LastIndex()
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if !newLM.Equal(lm) {
|
|
|
|
if newLI != lm {
|
|
|
|
t.Fatalf("last modified time should not have changed")
|
|
|
|
t.Fatalf("last index should not have changed")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
lm = newLM
|
|
|
|
lm = newLI
|
|
|
|
|
|
|
|
|
|
|
|
if af, err := s.Noop("don't care"); err != nil || af.Error() != nil {
|
|
|
|
if af, err := s.Noop("don't care"); err != nil || af.Error() != nil {
|
|
|
|
t.Fatalf("failed to execute Noop")
|
|
|
|
t.Fatalf("failed to execute Noop")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
newLM, err = provider.LastModified()
|
|
|
|
newLI, err = provider.LastIndex()
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if !newLM.Equal(lm) {
|
|
|
|
if newLI != lm {
|
|
|
|
t.Fatalf("last modified time should not have changed")
|
|
|
|
t.Fatalf("last index should not have changed")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
lm = newLM
|
|
|
|
lm = newLI
|
|
|
|
|
|
|
|
|
|
|
|
er = executeRequestFromStrings([]string{
|
|
|
|
er = executeRequestFromStrings([]string{
|
|
|
|
`INSERT INTO foo(id, name) VALUES(1, "fiona")`, // Constraint violation.
|
|
|
|
`INSERT INTO foo(id, name) VALUES(1, "fiona")`, // Constraint violation.
|
|
|
@ -196,14 +196,14 @@ func Test_SingleNodeProvideLastModified(t *testing.T) {
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("failed to execute on single node: %s", err.Error())
|
|
|
|
t.Fatalf("failed to execute on single node: %s", err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
newLM, err = provider.LastModified()
|
|
|
|
newLI, err = provider.LastIndex()
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if !newLM.Equal(lm) {
|
|
|
|
if newLI != lm {
|
|
|
|
t.Fatalf("last modified time should not have changed with constraint violation")
|
|
|
|
t.Fatalf("last index should not have changed with constraint violation")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
lm = newLM
|
|
|
|
lm = newLI
|
|
|
|
|
|
|
|
|
|
|
|
// This should change the database.
|
|
|
|
// This should change the database.
|
|
|
|
er = executeRequestFromStrings([]string{
|
|
|
|
er = executeRequestFromStrings([]string{
|
|
|
@ -216,12 +216,12 @@ func Test_SingleNodeProvideLastModified(t *testing.T) {
|
|
|
|
if _, err := s.WaitForAppliedFSM(2 * time.Second); err != nil {
|
|
|
|
if _, err := s.WaitForAppliedFSM(2 * time.Second); err != nil {
|
|
|
|
t.Fatalf("failed to wait for FSM to apply")
|
|
|
|
t.Fatalf("failed to wait for FSM to apply")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
newLM, err = provider.LastModified()
|
|
|
|
newLI, err = provider.LastIndex()
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
t.Fatalf("failed to get last modified: %s", err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if !newLM.After(lm) {
|
|
|
|
if newLI <= lm {
|
|
|
|
t.Fatalf("last modified time should have changed")
|
|
|
|
t.Fatalf("last index should have changed")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|