os: add stubs for Readlink and File.Seek for baremetal targets, with smoke test.
Test currently enabled on pybadge (chosen at random) TODO: - enable test on arduino; currently fails with "interp: ptrtoint integer size..." (#2389) - enable test on nintendoswitch; currently fails with many missing definitions (#2530)
Этот коммит содержится в:
родитель
f5b7925047
коммит
9c3f9537be
3 изменённых файлов: 37 добавлений и 0 удалений
2
Makefile
2
Makefile
|
@ -298,6 +298,8 @@ tinygo-bench-wasi-fast:
|
|||
.PHONY: smoketest
|
||||
smoketest:
|
||||
$(TINYGO) version
|
||||
# regression test for #2563
|
||||
cd tests/os/smoke && $(TINYGO) test -c -target=pybadge && rm smoke.test
|
||||
# test all examples (except pwm)
|
||||
$(TINYGO) build -size short -o test.hex -target=pca10040 examples/blinky1
|
||||
@$(MD5SUM) test.hex
|
||||
|
|
|
@ -62,6 +62,14 @@ func Pipe() (r *File, w *File, err error) {
|
|||
return nil, nil, ErrNotImplemented
|
||||
}
|
||||
|
||||
func (f *File) Seek(offset int64, whence int) (ret int64, err error) {
|
||||
return 0, ErrNotImplemented
|
||||
}
|
||||
|
||||
func Readlink(name string) (string, error) {
|
||||
return "", ErrNotImplemented
|
||||
}
|
||||
|
||||
func tempDir() string {
|
||||
return "/tmp"
|
||||
}
|
||||
|
|
27
tests/os/smoke/smoke_test.go
Обычный файл
27
tests/os/smoke/smoke_test.go
Обычный файл
|
@ -0,0 +1,27 @@
|
|||
package os_smoke_test
|
||||
|
||||
// Simple smoke tests for the os package or things that depend on it.
|
||||
// Intended to catch build tag mistakes affecting bare metal targets.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// Regression test for https://github.com/tinygo-org/tinygo/issues/2563
|
||||
func TestFilepath(t *testing.T) {
|
||||
if filepath.Base("foo/bar") != "bar" {
|
||||
t.Errorf("filepath.Base is very confused")
|
||||
}
|
||||
}
|
||||
|
||||
// Regression test for https://github.com/tinygo-org/tinygo/issues/2530
|
||||
func TestFmt(t *testing.T) {
|
||||
n, err := fmt.Printf("Hello, world!\n")
|
||||
if err != nil {
|
||||
t.Errorf("printf returned error %s", err)
|
||||
} else if n != 14 {
|
||||
t.Errorf("printf returned %d, expected 14", n)
|
||||
}
|
||||
}
|
Загрузка…
Создание таблицы
Сослаться в новой задаче