From 99e48c9b02fc41a429d9ed34805742a37eeb7c49 Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Thu, 8 Aug 2019 14:26:45 +0930 Subject: [PATCH] graph/layout: handle difference between pure go and asm kernels --- graph/layout/isomap_noasm_test.go | 12 ++++++++++++ graph/layout/isomap_test.go | 6 +++++- .../testdata/line_isomap_noasm_golden.png | Bin 0 -> 4436 bytes .../testdata/sheet_isomap_noasm_golden.png | Bin 0 -> 22839 bytes .../testdata/square_isomap_noasm_golden.png | Bin 0 -> 9639 bytes .../tetrahedron_isomap_noasm_golden.png | Bin 0 -> 20173 bytes .../testdata/tube_isomap_noasm_golden.png | Bin 0 -> 18142 bytes .../testdata/wp_page_isomap_noasm_golden.png | Bin 0 -> 17517 bytes 8 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 graph/layout/isomap_noasm_test.go create mode 100644 graph/layout/testdata/line_isomap_noasm_golden.png create mode 100644 graph/layout/testdata/sheet_isomap_noasm_golden.png create mode 100644 graph/layout/testdata/square_isomap_noasm_golden.png create mode 100644 graph/layout/testdata/tetrahedron_isomap_noasm_golden.png create mode 100644 graph/layout/testdata/tube_isomap_noasm_golden.png create mode 100644 graph/layout/testdata/wp_page_isomap_noasm_golden.png diff --git a/graph/layout/isomap_noasm_test.go b/graph/layout/isomap_noasm_test.go new file mode 100644 index 00000000..212cfa22 --- /dev/null +++ b/graph/layout/isomap_noasm_test.go @@ -0,0 +1,12 @@ +// Copyright ©2019 The Gonum Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build noasm appengine safe + +package layout + +// Change the testdata path for calculations done without assembly kernels. +func init() { + tag = "_noasm" +} diff --git a/graph/layout/isomap_test.go b/graph/layout/isomap_test.go index 20345be3..babcf7cb 100644 --- a/graph/layout/isomap_test.go +++ b/graph/layout/isomap_test.go @@ -15,6 +15,10 @@ import ( "gonum.org/v1/plot/vg" ) +// tag is modified in isomap_noasm_test.go to "_noasm" when any +// build tag prevents use of the assembly numerical kernels. +var tag string + var isomapR2Tests = []struct { name string g graph.Graph @@ -160,7 +164,7 @@ func TestIsomapR2(t *testing.T) { } p.Add(render{o}) p.HideAxes() - path := filepath.Join("testdata", test.name+".png") + path := filepath.Join("testdata", test.name+tag+".png") err = p.Save(10*vg.Centimeter, 10*vg.Centimeter, path) if err != nil { t.Errorf("unexpected error: %v", err) diff --git a/graph/layout/testdata/line_isomap_noasm_golden.png b/graph/layout/testdata/line_isomap_noasm_golden.png new file mode 100644 index 0000000000000000000000000000000000000000..d39f8387296231d3f502f0afd561ab7165b9a7ca GIT binary patch literal 4436 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 H-uM3t7WCjA literal 0 HcmV?d00001 diff --git a/graph/layout/testdata/sheet_isomap_noasm_golden.png b/graph/layout/testdata/sheet_isomap_noasm_golden.png new file mode 100644 index 0000000000000000000000000000000000000000..b4397e26e9c4a53e52ab7b20c4c3aca13678cc79 GIT binary patch literal 22839 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 Da<>!Q literal 0 HcmV?d00001 diff --git a/graph/layout/testdata/square_isomap_noasm_golden.png b/graph/layout/testdata/square_isomap_noasm_golden.png new file mode 100644 index 0000000000000000000000000000000000000000..130f3821f6f8dde369310c3fed873a15fc3b8a20 GIT binary patch literal 9639 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 GLjMmKT&v#z literal 0 HcmV?d00001 diff --git a/graph/layout/testdata/tetrahedron_isomap_noasm_golden.png b/graph/layout/testdata/tetrahedron_isomap_noasm_golden.png new file mode 100644 index 0000000000000000000000000000000000000000..cbbdda58fff56cf69dcd59c4c3fdf027b95ad3b0 GIT binary patch literal 20173 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 literal 0 HcmV?d00001 diff --git a/graph/layout/testdata/wp_page_isomap_noasm_golden.png b/graph/layout/testdata/wp_page_isomap_noasm_golden.png new file mode 100644 index 0000000000000000000000000000000000000000..7846140f96ef8f5b3a5967ead5850a16bdc660e1 GIT binary patch literal 17517 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 literal 0 HcmV?d00001