diff options
Diffstat (limited to 'actions/config_test.go')
| -rw-r--r-- | actions/config_test.go | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/actions/config_test.go b/actions/config_test.go deleted file mode 100644 index c0b2089..0000000 --- a/actions/config_test.go +++ /dev/null @@ -1,105 +0,0 @@ -/* - * config_test.go - tests for setting up the config file - * - * Copyright 2017 Google Inc. - * Author: Joe Richey (joerichey@google.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package actions - -import ( - "io/ioutil" - "log" - "os" - "testing" - "time" -) - -const testTime = 10 * time.Millisecond - -func init() { - // All our testing uses an alternative config file location, so we don't - // need root to run the tests - ConfigFileLocation = "fscrypt_test.conf" -} - -// Tests that we can make the config files with and without legacy settings -func TestMakeConfig(t *testing.T) { - defer os.RemoveAll(ConfigFileLocation) - - err := CreateConfigFile(testTime, true) - if err != nil { - t.Error(err) - } - os.RemoveAll(ConfigFileLocation) - - err = CreateConfigFile(testTime, false) - if err != nil { - t.Error(err) - } -} - -// Tests that we can find valid hashing costs for various time targets and the -// estimations are somewhat close to the targets. -func TestCostsSearch(t *testing.T) { - for _, target := range []time.Duration{ - 100 * time.Microsecond, - 1 * time.Millisecond, - 10 * time.Millisecond, - 100 * time.Millisecond, - } { - costs, err := getHashingCosts(target) - if err != nil { - t.Error(err) - } - actual, err := timeHashingCosts(costs) - if err != nil { - t.Error(err) - } - - // Timing tests are only reliable for sufficiently long targets. - if target > time.Millisecond { - if actual*2 < target { - t.Errorf("actual=%v is too small (target=%v)", actual, target) - } - if target*2 < actual { - t.Errorf("actual=%v is too big (target=%v)", actual, target) - } - } - } -} - -func benchmarkCostsSearch(b *testing.B, target time.Duration) { - // Disable logging for benchmarks - log.SetOutput(ioutil.Discard) - for i := 0; i < b.N; i++ { - _, err := getHashingCosts(target) - if err != nil { - b.Fatal(err) - } - } -} - -func BenchmarkCostsSearch10ms(b *testing.B) { - benchmarkCostsSearch(b, 10*time.Millisecond) -} - -func BenchmarkCostsSearch100ms(b *testing.B) { - benchmarkCostsSearch(b, 100*time.Millisecond) -} - -func BenchmarkCostsSearch1s(b *testing.B) { - benchmarkCostsSearch(b, time.Second) -} |