- update

master
李光春 4 months ago
parent b2ce66b40d
commit 54e09848b6
  1. 38
      .github/workflows/codeql-analysis.yml
  2. 17
      .github/workflows/go.yml
  3. 27
      .workflow/go.yml
  4. 40
      .circleci/config.yml
  5. 8
      .drone.yml
  6. 50
      goip_test.go
  7. 41
      ip_test.go

@ -1,38 +0,0 @@
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
- cron: '36 15 * * 2'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'go' ]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
- name: Autobuild
uses: github/codeql-action/autobuild@v2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

@ -1,17 +0,0 @@
name: Go
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.18
- name: Test
run: go test -v ./...

@ -1,27 +0,0 @@
version: '1.0'
name: go
displayName: go
triggers:
trigger: auto
pr:
branches:
include:
- master
stages:
- name: compile
displayName: 编译
strategy: naturally
trigger: auto
steps:
- step: build@golang
name: Test
displayName: Golang 测试
golangVersion: '1.8'
commands:
- go env -w GO111MODULE=on
- go env -w GOPROXY=https://goproxy.cn,direct
- go test -v ./...
notify: []
permissions:
- role: admin
members: []

@ -1,40 +0,0 @@
# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1
# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
build:
working_directory: ~/repo
# Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor
docker:
- image: circleci/golang:1.18
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps:
- checkout
- restore_cache:
keys:
- go-mod-v4-{{ checksum "go.sum" }}
- run:
name: Install Dependencies
command: go mod download
- save_cache:
key: go-mod-v4-{{ checksum "go.sum" }}
paths:
- "/go/pkg/mod"
- run:
name: Run tests
command: |
mkdir -p /tmp/test-reports
gotestsum --junitfile /tmp/test-reports/unit-tests.xml
- store_test_results:
path: /tmp/test-reports
# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
sample: # This is the name of the workflow, feel free to change it to better match your workflow.
# Inside the workflow, you define the jobs you want to run.
jobs:
- build

@ -8,4 +8,10 @@ steps:
commands:
- go env -w GO111MODULE=on
- go env -w GOPROXY=https://goproxy.cn,direct
- go test -v ./...
- go test -v ./...
- name: Benchmark
image: golang:1.18
commands:
- go env -w GO111MODULE=on
- go env -w GOPROXY=https://goproxy.cn,direct
- go test -bench=. -benchmem

@ -9,24 +9,56 @@ func lod() *Client {
return NewIp()
}
func TestIp(t *testing.T) {
func TestTo4(t *testing.T) {
t.Logf(string(net.ParseIP("61.241.55.180").To4()))
}
func BenchmarkTo4(b *testing.B) {
for i := 0; i < b.N; i++ {
b.Logf(string(net.ParseIP("61.241.55.180").To4()))
}
}
func TestTo16(t *testing.T) {
t.Logf(string(net.ParseIP("240e:3b4:38e4:3295:7093:af6c:e545:f2e9").To16()))
}
func BenchmarkTo16(b *testing.B) {
for i := 0; i < b.N; i++ {
b.Logf(string(net.ParseIP("240e:3b4:38e4:3295:7093:af6c:e545:f2e9").To16()))
}
}
func TestIpv4(t *testing.T) {
client := lod()
t.Logf("%+v", net.ParseIP("61.241.55.180").To4())
t.Logf("%+v", net.ParseIP("240e:3b4:38e4:3295:7093:af6c:e545:f2e9").To16())
t.Logf("%+v", client.V4db.Find("61.241.55.180"))
t.Logf("%+v", client.V4db.Find("116.7.98.130"))
t.Logf("%+v", client.V6db.Find("240e:3b4:38e4:3295:7093:af6c:e545:f2e9"))
t.Log(client.V4Region.MemorySearch("61.241.55.180"))
t.Log(client.V4db.Find("116.7.98.130"))
}
func BenchmarkIpv4(b *testing.B) {
client := lod()
for i := 0; i < b.N; i++ {
b.Log(client.V4db.Find("61.241.55.180"))
b.Log(client.V4db.Find("116.7.98.130"))
}
}
func BenchmarkIpv5(b *testing.B) {
func TestV4Region(t *testing.T) {
client := lod()
t.Log(client.V4Region.MemorySearch("61.241.55.180"))
}
func BenchmarkV4Region(b *testing.B) {
client := lod()
for i := 0; i < b.N; i++ {
b.Log(client.V4Region.MemorySearch("61.241.55.180"))
}
}
func TestIpv6(t *testing.T) {
client := lod()
t.Log(client.V6db.Find("116.7.98.130"))
}
func BenchmarkIpv6(b *testing.B) {
client := lod()
for i := 0; i < b.N; i++ {
b.Log(client.V6db.Find("240e:3b4:38e4:3295:7093:af6c:e545:f2e9"))

@ -2,9 +2,42 @@ package goip
import "testing"
func TestIpIp(t *testing.T) {
t.Log("GetOutsideIp", GetOutsideIp())
t.Log("GetInsideIp", GetInsideIp())
t.Log("GetMacAddr", GetMacAddr())
func TestGetOutsideIp(t *testing.T) {
t.Log(GetOutsideIp())
}
func BenchmarkGetOutsideIp(b *testing.B) {
for i := 0; i < b.N; i++ {
b.Log(GetOutsideIp())
}
}
func TestGetInsideIp(t *testing.T) {
t.Log(GetInsideIp())
}
func BenchmarkGetInsideIp(b *testing.B) {
for i := 0; i < b.N; i++ {
b.Log(GetInsideIp())
}
}
func TestGetMacAddr(t *testing.T) {
t.Log(GetMacAddr())
}
func BenchmarkGetMacAddr(b *testing.B) {
for i := 0; i < b.N; i++ {
b.Log(GetMacAddr())
}
}
func TestIps(t *testing.T) {
t.Log(Ips())
}
func BenchmarkIps(b *testing.B) {
for i := 0; i < b.N; i++ {
b.Log(Ips())
}
}

Loading…
Cancel
Save