| // Copyright 2013 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| func TestControlFlags(t *testing.T) { |
| tf := FlagInterface | FlagPathMTU |
| opt := rawOpt{cflags: tf | FlagHopLimit} |
| // This loop runs methods of raw.Opt concurrently for testing |
| // concurrent access to the rawOpt. The first entry shold be |
| // opt.set and the last entry should be opt.clear. |
| tfns := []func(ControlFlags){opt.set, opt.clear, opt.clear} |
| for i, fn := range tfns { |
| go func(i int, fn func(ControlFlags)) { |
| t.Fatalf("got %#x; expected %#x", opt.cflags, FlagHopLimit) |