Posted by
夏泽民
Jul 28, 2019
GoConvey是一款针对Golang的测试框架,可以管理和运行测试用例,同时提供了丰富的断言函数,并支持很多 Web 界面特性。
Golang虽然自带了单元测试功能,并且在GoConvey框架诞生之前也出现了许多第三方测试框架,但没有一个测试框架像GoConvey一样能够让程序员如此简洁优雅的编写测试代码。
安装
在命令行运行下面的命令:
go get github.com/smartystreets/goconvey
Posted by
夏泽民
Jul 27, 2019
全局变量可通过GoStub框架打桩
过程可通过GoStub框架打桩
函数可通过GoStub框架打桩
interface可通过GoMock框架打桩
Posted by
夏泽民
Jul 21, 2019
stdin是针对你的应用程序的,/dev/tty是针对设备的入口
正常情况下stdin bind到/dev/tty,但是stdin不一定是/dev/tty
比如在cgi环境中
#include “apue.h”
查看句柄是不是tty
if(isatty(0)){
获取tty名字
name = ttyname(0);
Posted by
夏泽民
Jul 21, 2019
https://github.com/xiazemin/the-super-tiny-compiler-1/blob/master/compiler.go
https://github.com/xiazemin/the-super-tiny-compiler
https://adampresley.github.io/2015/06/01/writing-a-lexer-and-parser-in-go-part-3.html
https://adampresley.github.io/2015/06/01/writing-a-lexer-and-parser-in-go-part-2.html
https://adampresley.github.io/2015/06/01/writing-a-lexer-and-parser-in-go-part-1.html
/**
- TTTTTTTTTTTTTTTTTTTTTTTHHHHHHHHH HHHHHHHHHEEEEEEEEEEEEEEEEEEEEEE
- T:::::::::::::::::::::TH:::::::H H:::::::HE::::::::::::::::::::E
- T:::::::::::::::::::::TH:::::::H H:::::::HE::::::::::::::::::::E
- T:::::TT:::::::TT:::::THH::::::H H::::::HHEE::::::EEEEEEEEE::::E
- TTTTTT T:::::T TTTTTT H:::::H H:::::H E:::::E EEEEEE
- T:::::T H:::::H H:::::H E:::::E
- T:::::T H::::::HHHHH::::::H E::::::EEEEEEEEEE
- T:::::T H:::::::::::::::::H E:::::::::::::::E
- T:::::T H:::::::::::::::::H E:::::::::::::::E
- T:::::T H::::::HHHHH::::::H E::::::EEEEEEEEEE
- T:::::T H:::::H H:::::H E:::::E
- T:::::T H:::::H H:::::H E:::::E EEEEEE
- TT:::::::TT HH::::::H H::::::HHEE::::::EEEEEEEE:::::E
- T:::::::::T H:::::::H H:::::::HE::::::::::::::::::::E
- T:::::::::T H:::::::H H:::::::HE::::::::::::::::::::E
- TTTTTTTTTTT HHHHHHHHH HHHHHHHHHEEEEEEEEEEEEEEEEEEEEEE
*
- SSSSSSSSSSSSSSS UUUUUUUU UUUUUUUUPPPPPPPPPPPPPPPPP EEEEEEEEEEEEEEEEEEEEEERRRRRRRRRRRRRRRRR
- SS:::::::::::::::SU::::::U U::::::UP::::::::::::::::P E::::::::::::::::::::ER::::::::::::::::R
- S:::::SSSSSS::::::SU::::::U U::::::UP::::::PPPPPP:::::P E::::::::::::::::::::ER::::::RRRRRR:::::R
- S:::::S SSSSSSSUU:::::U U:::::UUPP:::::P P:::::PEE::::::EEEEEEEEE::::ERR:::::R R:::::R
- S:::::S U:::::U U:::::U P::::P P:::::P E:::::E EEEEEE R::::R R:::::R
- S:::::S U:::::U U:::::U P::::P P:::::P E:::::E R::::R R:::::R
- S::::SSSS U:::::U U:::::U P::::PPPPPP:::::P E::::::EEEEEEEEEE R::::RRRRRR:::::R
- SS::::::SSSSS U:::::U U:::::U P:::::::::::::PP E:::::::::::::::E R:::::::::::::RR
- SSS::::::::SS U:::::U U:::::U P::::PPPPPPPPP E:::::::::::::::E R::::RRRRRR:::::R
- SSSSSS::::S U:::::U U:::::U P::::P E::::::EEEEEEEEEE R::::R R:::::R
- S:::::S U:::::U U:::::U P::::P E:::::E R::::R R:::::R
- S:::::S U::::::U U::::::U P::::P E:::::E EEEEEE R::::R R:::::R
- SSSSSSS S:::::S U:::::::UUU:::::::U PP::::::PP EE::::::EEEEEEEE:::::ERR:::::R R:::::R
- S::::::SSSSSS:::::S UU:::::::::::::UU P::::::::P E::::::::::::::::::::ER::::::R R:::::R
- S:::::::::::::::SS UU:::::::::UU P::::::::P E::::::::::::::::::::ER::::::R R:::::R
- SSSSSSSSSSSSSSS UUUUUUUUU PPPPPPPPPP EEEEEEEEEEEEEEEEEEEEEERRRRRRRR RRRRRRR
*
- TTTTTTTTTTTTTTTTTTTTTTTIIIIIIIIIINNNNNNNN NNNNNNNNYYYYYYY YYYYYYY
- T:::::::::::::::::::::TI::::::::IN:::::::N N::::::NY:::::Y Y:::::Y
- T:::::::::::::::::::::TI::::::::IN::::::::N N::::::NY:::::Y Y:::::Y
- T:::::TT:::::::TT:::::TII::::::IIN:::::::::N N::::::NY::::::Y Y::::::Y
- TTTTTT T:::::T TTTTTT I::::I N::::::::::N N::::::NYYY:::::Y Y:::::YYY
- T:::::T I::::I N:::::::::::N N::::::N Y:::::Y Y:::::Y
- T:::::T I::::I N:::::::N::::N N::::::N Y:::::Y:::::Y
- T:::::T I::::I N::::::N N::::N N::::::N Y:::::::::Y
- T:::::T I::::I N::::::N N::::N:::::::N Y:::::::Y
- T:::::T I::::I N::::::N N:::::::::::N Y:::::Y
- T:::::T I::::I N::::::N N::::::::::N Y:::::Y
- T:::::T I::::I N::::::N N:::::::::N Y:::::Y
- TT:::::::TT II::::::IIN::::::N N::::::::N Y:::::Y
- T:::::::::T I::::::::IN::::::N N:::::::N YYYY:::::YYYY
- T:::::::::T I::::::::IN::::::N N::::::N Y:::::::::::Y
- TTTTTTTTTTT IIIIIIIIIINNNNNNNN NNNNNNN YYYYYYYYYYYYY
*
- CCCCCCCCCCCCC OOOOOOOOO MMMMMMMM MMMMMMMMPPPPPPPPPPPPPPPPP IIIIIIIIIILLLLLLLLLLL EEEEEEEEEEEEEEEEEEEEEERRRRRRRRRRRRRRRRR
- CCC::::::::::::C OO:::::::::OO M:::::::M M:::::::MP::::::::::::::::P I::::::::IL:::::::::L E::::::::::::::::::::ER::::::::::::::::R
- CC:::::::::::::::C OO:::::::::::::OO M::::::::M M::::::::MP::::::PPPPPP:::::P I::::::::IL:::::::::L E::::::::::::::::::::ER::::::RRRRRR:::::R
- C:::::CCCCCCCC::::CO:::::::OOO:::::::OM:::::::::M M:::::::::MPP:::::P P:::::PII::::::IILL:::::::LL EE::::::EEEEEEEEE::::ERR:::::R R:::::R
- C:::::C CCCCCCO::::::O O::::::OM::::::::::M M::::::::::M P::::P P:::::P I::::I L:::::L E:::::E EEEEEE R::::R R:::::R
- C:::::C O:::::O O:::::OM:::::::::::M M:::::::::::M P::::P P:::::P I::::I L:::::L E:::::E R::::R R:::::R
- C:::::C O:::::O O:::::OM:::::::M::::M M::::M:::::::M P::::PPPPPP:::::P I::::I L:::::L E::::::EEEEEEEEEE R::::RRRRRR:::::R
- C:::::C O:::::O O:::::OM::::::M M::::M M::::M M::::::M P:::::::::::::PP I::::I L:::::L E:::::::::::::::E R:::::::::::::RR
- C:::::C O:::::O O:::::OM::::::M M::::M::::M M::::::M P::::PPPPPPPPP I::::I L:::::L E:::::::::::::::E R::::RRRRRR:::::R
- C:::::C O:::::O O:::::OM::::::M M:::::::M M::::::M P::::P I::::I L:::::L E::::::EEEEEEEEEE R::::R R:::::R
- C:::::C O:::::O O:::::OM::::::M M:::::M M::::::M P::::P I::::I L:::::L E:::::E R::::R R:::::R
- C:::::C CCCCCCO::::::O O::::::OM::::::M MMMMM M::::::M P::::P I::::I L:::::L LLLLLL E:::::E EEEEEE R::::R R:::::R
- C:::::CCCCCCCC::::CO:::::::OOO:::::::OM::::::M M::::::MPP::::::PP II::::::IILL:::::::LLLLLLLLL:::::LEE::::::EEEEEEEE:::::ERR:::::R R:::::R
- CC:::::::::::::::C OO:::::::::::::OO M::::::M M::::::MP::::::::P I::::::::IL::::::::::::::::::::::LE::::::::::::::::::::ER::::::R R:::::R
- CCC::::::::::::C OO:::::::::OO M::::::M M::::::MP::::::::P I::::::::IL::::::::::::::::::::::LE::::::::::::::::::::ER::::::R R:::::R
- CCCCCCCCCCCCC OOOOOOOOO MMMMMMMM MMMMMMMMPPPPPPPPPP IIIIIIIIIILLLLLLLLLLLLLLLLLLLLLLLLEEEEEEEEEEEEEEEEEEEEEERRRRRRRR RRRRRRR
*
- =======================================================================================================================================================================
- =======================================================================================================================================================================
- =======================================================================================================================================================================
- =======================================================================================================================================================================
*/
Posted by
夏泽民
Jul 21, 2019
go build
-gcflags: 传递给编译器的参数